问题描述 小明对数位中含有2、0、1、9的数字很感兴趣(不包括前导0),在1到40中这样的数包括1、2、9、10至32、39和40,共28个,他们的和是574。 问,在1至n中,所有这样的数的和是多少?
输入格式 输入一行包括两个整数n。
输出格式 输出一行,包含一个整数,表示满足条件的数的和。
样例输入 40
样例输出 574
代码
#include<stdio.h>
int main()
{
int sum
=0,pog
=0;
int i
,j
,n
;
scanf("%d",&n
);
for(j
=1;j
<=n
;j
++)
{
pog
=0;
i
=j
;
while(i
!=0)
{
if(i
%10==2||i
%10==0||i
%10==1||i
%10==9)
{
pog
=1;
}
i
=i
/10;
}
if(pog
==1)
{
sum
+=j
;
}
}
printf("%d",sum
);
return 0;
}
结果