链接:https://ac.nowcoder.com/acm/contest/9983/D
来源:牛客网
题目描述
还有一个周就要过年啦!这一天牛牛盯着新的台历出神,他突然想知道对于第\mathit nn年来说,大于\mathit nn且与\mathit nn的数位和相同的最小年份是多少。
一个数字的数位和等于他各数位上的数字之和,例如\text 20212021的数位和等于\text 2+0+2+1=52+0+2+1=5。
输入描述:
一个正整数\mathit nn。
2021\leq n \leq 20302021≤n≤2030
输出描述:
输出一个正整数代表答案。
示例1
输入
2025
输出
2034
说明
2034是比2025大的且数位和等于9的最小正整数
答案1:
#include<cstdio>
int main()
{
int n;
scanf("%d",&n);
int x=n/1000+n%10+n%100/10+n%1000/100;
for(int i=n+1;i<10000;i++)
{
if(i/1000+i%10+i%100/10+i%1000/100==x)
{
printf("%d",i);
break;
}
}
return 0;
}
答案2:
#include<cstdio>
int want(int n)
{
int x=0;
while(n)
{
x+=n%10;
n/=10;
}
return x;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=n+1;i<10000;i++)
{
if(want(i)==want(n))
{
printf("%d",i);
break;
}
}
return 0;
}