1583 - Digit Generator (UVA)

题目链接如下:

Online Judge

我的代码如下:

cpp 复制代码
#include <cstdio>

int T, N;
bool flag;

int cal(int k){
    int ans = k;
    while(k){
        ans += k % 10;
        k /= 10;
    }
    return ans;
}

int main(){
    scanf("%d", &T);
    for(int i = 0; i < T; ++i){
        scanf("%d", &N);
        flag = false;
        for(int j = N - 45; j < N; ++j){
            if(cal(j) == N){
                flag = true;
                printf("%d\n", j);
                break;
            }
        }
        if(!flag){
            printf("0\n");
        }
    }
    return 0;
}

按照刘汝佳方法写的代码如下:

cpp 复制代码
#include <cstdio>
const int maxN = 100005;

int T, N;
int gen[maxN];

int cal(int k){
    int ans = k;
    while(k){
        ans += k % 10;
        k /= 10;
    }
    return ans;
}

int main(){
    for(int i = 1; i < maxN; ++i){
        if(cal(i) < maxN && gen[cal(i)] == 0){
            gen[cal(i)] = i;
        }
    }
    scanf("%d", &T);
    for(int i = 0; i < T; ++i){
        scanf("%d", &N);
        printf("%d\n", gen[N]);
    }
    return 0;
}
相关推荐
wanzhong233335 分钟前
CUDA学习5-矩阵乘法(共享内存版)
深度学习·学习·算法·cuda·高性能计算
fufu03111 小时前
Linux环境下的C语言编程(四十八)
数据结构·算法·排序算法
Yingye Zhu(HPXXZYY)1 小时前
Solution to Luogu P6340
算法
小熳芋2 小时前
单词搜索- python-dfs&剪枝
算法·深度优先·剪枝
Xの哲學2 小时前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算
bu_shuo2 小时前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
高洁012 小时前
图神经网络初探(2)
人工智能·深度学习·算法·机器学习·transformer
爱装代码的小瓶子2 小时前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
思成Codes2 小时前
数据结构:基础线段树——线段树系列(提供模板)
数据结构·算法
虾..4 小时前
Linux 简单日志程序
linux·运维·算法