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;
}
相关推荐
不光头强17 分钟前
力扣78子集题解
算法·leetcode·深度优先
独断万古他化21 分钟前
【算法通关】二叉树中的深搜:DFS 递归解题套路
算法·二叉树·深度优先·dfs·递归
㓗冽22 分钟前
2026.03.27(第三天)
数据结构·c++·算法
sali-tec22 分钟前
C# 基于OpenCv的视觉工作流-章44-直线卡尺
图像处理·人工智能·opencv·算法·计算机视觉
Magic--23 分钟前
经典概率题:飞机座位分配问题(LeetCode 1227)超详细解析
算法·leetcode·职场和发展
urkay-44 分钟前
Android 图片轮廓提取与重叠轮廓合并处理
android·算法·iphone
七七肆十九44 分钟前
PTA 7-38 数列求和-加强版
数据结构·算法
SWAGGY..1 小时前
【C++初阶】:(5)内存管理
java·c++·算法
Zarek枫煜1 小时前
zig与C3的算法 -- 桶排序
c语言·嵌入式硬件·算法
Rooting++1 小时前
C语言中的共用体应用场景
算法