用C语言编写程序:求[1,1000]之间能被3整除,且至少有一位上的数是5的所有数之和,以及这样的数的的个数。

2024年11月18日 02:49
有4个网友回答
网友(1):

#include
int my_test(int num){
if(num<=9) {
if(num==5) return 1;
}
else if(num<=99) {
if ((num%10==5)||(num/10==5)) return 1;
}
else if((num%10==5)||(num/10==5)||(num/100==5))
return 1;
return 0;
}

main(){
int i,sum=0;
int flag=0;
for (i=1;i<1000;i++){
if((i%3==0) && (my_test(i)==1)) {
// printf("%d\t",i);
flag++;
sum+=i;
}
}
printf("sum=%d,flag=%d\n",sum,flag);
}

结果 sum=32949,flag=66

网友(2):

估计是判断“且至少有一位上的数是5”不会了,呵呵
给你个算法,你看看行不行
flag=0;

while(x)
{
if(x%10==5)
{
flag=1; //这个用了标记5的

break;

}
x/=10;

}

网友(3):

int n=0,h=0; //n是个数,h是和
for(int i=3;i<1000;i+=3){
if(i.toString().indexOf('5')>=0){n++;h+=i;}
}

网友(4):

参看:
http://zhidao.baidu.com/question/6562844.html