特别数的和

description

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。

请问,在 1 到 n 中,所有这样的数的和是多少?

输入格式:

输入一行包含一个整数 n(1 ≤ n ≤ 10000 )。

输出格式:

输出和,结尾无空格换行。

输入样例:

在这里给出一组输入。例如:

40

solution

#include 
int main(){
	int n, count = 0, flag, t;
	scanf("%d", &n);
	for(int i = 1; i <= n; i++){
		flag = i;
		while(flag > 0){
			t = flag % 10;
			if(t == 2 || t == 0 || t == 1 || t == 9){
				count += i;
				break;
			}
			flag /= 10;
		} 
	}
	printf("%d", count);
	return 0;
}

你可能感兴趣的:(数据结构,pat,算法)