首页 > 代码库 > UVa1583 Digit Generator
UVa1583 Digit Generator
因为题目给出的n的最大值是100000,即为它的各个位数加起来的和的最大值是1+9+9+9+9+9=46,
所以对于任意一个数n,就可以从n-46开始枚举就可以了,检测它是否满足条件。
#include<stdio.h>int main(){ long int n,i,s=0,num; scanf("%d",&num); while(num--) { scanf("%d",&n); { int flag=0; for(i=n-46;i<=n;i++) { s=i%10+i/10%10+i/100%10+i/1000%10+i/10000%10; if(s+i==n) { flag=1; break; } } if(flag) printf("%ld\n",i); else printf("0\n"); } }}
UVa1583 Digit Generator
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。