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;
}
相关推荐
老鱼说AI32 分钟前
CUDA架构与高性能程序设计:异构数据并行计算
开发语言·c++·人工智能·算法·架构·cuda
罗湖老棍子1 小时前
【例 1】数列操作(信息学奥赛一本通- P1535)
数据结构·算法·树状数组·单点修改 区间查询
big_rabbit05021 小时前
[算法][力扣222]完全二叉树的节点个数
数据结构·算法·leetcode
张李浩2 小时前
Leetcode 15三题之和
算法·leetcode·职场和发展
2301_793804693 小时前
C++中的适配器模式变体
开发语言·c++·算法
x_xbx3 小时前
LeetCode:206. 反转链表
算法·leetcode·链表
abant23 小时前
leetcode 138 复制随机链表
算法·leetcode·链表
ab1515173 小时前
3.17二刷基础112 118 完成进阶52
数据结构·算法
旖-旎3 小时前
二分查找(1)
c++·算法·二分查找·力扣·双指针
困死,根本不会3 小时前
【C 语言】指针学习笔记:从底层原理到实战应用
c语言·开发语言·笔记·学习·算法