第二次从我之前的博客中引用一段
我觉得对于初学者来说难点在于如何把数字一位位地取出来。
一种比较通用的方法是将它对10取模,然后除以十(相当于舍去个位,原来的十位成为新的个位,以此类推)。
由于不清楚数字的位数,使用 while 循环的同时利用 C++ 非 即为真的特性判断是否取完即可。
#include<stdio.h>
int n;
int main(){
scanf("%d",&n);
for(int i=3;i<=n;i+=3){
int t=i;
while(t){
if(t%10==5){
printf("%d\n",i);
break;
}
t/=10;
}
}
}