求出1~n范围内的整数,使其数字之和为13,请问这样的数有多少个? 例如:数85,其数字之和为8+5=13 数373,其数字之和为3+7+3=13。
这道题的思路较简单,咱们直接看代码:
#include<stdio.h>
int main()
{
long long n,s,t,i,cont=0;
scanf("%lld",&n);
for(i=1;i<=n;i++)
{
s=0; //注意这里s的初始化要在for循环内do while循环外进行,因为在对每个数的各个位判断
的开始s都要归为0,不然s就会保留之前循环相加的结果
t=i; //将i赋值给另一个变量便于进行循环判断
do
{
s=s+t%10; //用s来累加每一位上的数
t=t/10;
}while(t>0);
if(s==13)
cont++;
}
printf("%lld",cont);
return 0;
}