#include <iostream>
#include <cstdio>
#include <bits/stdc++.h>
using namespace std;
int n;
int cnt=0;
int sum=0;
int cnt2=0;
int length(int i){
cnt=0;
sum=0;
int tail=i%10;
while(1){
if(i/10>0&&i!=tail){
sum+=i%10;
i/=10;
cnt++;
}
else{
sum+=i;
cnt++;
return sum;
break;
}
}
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
if(length(i)==13){
cnt2++;
}
}
printf("%d",cnt2);
return 0;
}
Description
求出1~n范围内的整数,使其数字之和为13,请问这样的数有多少个? 例如:数85,其数字之和为8+5=13 数373,其数字之和为3+7+3=13。
Input
一个整数n(n<=10000000)
Output
输出一个整数,代表符合条件数的总个数
Sample Input 1
1000
Sample Output 1
75
Source
函数问题