HDU 4608 I-number
来源:互联网 发布:淘宝专柜国内代购真相 编辑:程序博客网 时间:2024/06/06 16:28
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4608
I-number
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3092 Accepted Submission(s): 1163
Problem Description
The I-number of x is defined to be an integer y, which satisfied the the conditions below:
1. y>x;
2. the sum of each digit of y(under base 10) is the multiple of 10;
3. among all integers that satisfy the two conditions above, y shouble be the minimum.
Given x, you're required to calculate the I-number of x.
Input
An integer T(T≤100) will exist in the first line of input, indicating the number of test cases.
The following T lines describe all the queries, each with a positive integer x. The length of x will not exceed 105.
Output
Output the I-number of x for each query.
Sample Input
1202
Sample Output
208
题目大意:给你一个大整数x,叫你找出一个比x大的最小的数y,它满足条件:y的各个数位之和能被10整除
大数水题,不断模拟加1即可,不用想得太复杂。o(n)的复杂度喽
#include<cstdio>#include<cstring>#define maxn 100005char a[maxn],b[maxn];int na[maxn],nb[maxn];void add(){ memset(na,0,sizeof(na)); memset(nb,0,sizeof(nb)); int la=strlen(a),lb=strlen(b); for(int i=0;a[i];i++) na[la-1-i]=a[i]-'0'; for(int i=0;b[i];i++) nb[lb-1-i]=b[i]-'0'; int lmax=la>lb?la:lb; for(int i=0;i<lmax;i++) na[i]+=nb[i],na[i+1]+=na[i]/10,na[i]%=10; if(na[lmax]) lmax++; for(int i=0;i<lmax;i++) a[lmax-i-1]=na[i]+'0'; a[lmax]='\0';}bool judge(){ int n=0; for(int i=0;a[i];i++) n+=a[i]-'0'; // printf("n=%d\n",n); return n%10;}int main(){ int t; scanf("%d",&t); while(t--) { scanf("%s",a); strcpy(b,"1");add(); while(judge()) strcpy(b,"1"),add(); printf("%s\n",a); } return 0;}
0 0
- hdu 4608 I-number
- hdu 4608 I-number
- hdu 4608 I-number
- hdu 4608 I-number
- HDU 4608 I-number
- hdu 4608 I-number
- hdu 4608 I-number 模拟
- hdu 4608 I-number 模拟
- HDU 4608 I-number(YY)
- HDU 4608 I-number 解题报告
- hdu - 4608 - I-number(暴力枚举)
- hdu 4608——I-number
- 杭电 HDU 4608 I-number
- HDU 4608 I-number (数学&字符串处理)
- HDU 4608 I-number(模拟)
- hdu 4608 I-number(水)
- HDU 4608 I-number(模拟)
- HDU 4608 I-number(暴力模拟)
- 1、CocoaPods安装和使用教程
- S3C2440 flash 分区 nor nand FLASH区别(开发板启动时) 及 结构
- 原生JPA简单使用
- 第十六周OJ(2)
- 九度OJ 1334 占座位 (模拟 细心)
- HDU 4608 I-number
- Incorrect string value: '\xE6\x88\x91' for column 'username' at row 1
- 工会经费搞活动风格的分公司的
- 2、自己使用CocoaPod的经验
- Cocos2d-X3.0 刨根问底(六)----- 调度器Scheduler类源码分析
- Spark sql中的case when else
- 用uboot 烧写uboot linux内核 文件系统到nandflash的 过程以及bootm go命令启动与区别
- nmake.exe
- Unity 3D中的阴影设置