1000~9999的数包括1000吗?
这个题对1000的输出这里有疑问,这么问需不需要判断1000呢,因为我输出的结果里有1000,但是1000的千位、百位、个位之和不是素数。/*找出所有1000~9999之间的整数,且满足千位、百位、个位之和为素数的数*/
#include<stdio.h>
int suShu(int s){
int i,flag=0;
for(i=2;i<s;i++){
if(s%i==0){
flag=1;
break;
}
}
return flag;
}
void main()
{
int i,sum=0,n=0;
for(i=1000;i<10000;i++){
sum=i/1000+i/100%10+i/10%10+i%10;
if(suShu(sum)==0){
printf("%d ",i);
n++;
}
}
printf("%d",n);
} 那就把1000去掉呗
只要素数判断没问题,带不带1000根本不影响结果啊 素数判断加个小于等于1返回1,小于等于1不是素数。 /*找出所有1000~9999之间的整数,且满足千位、百位、个位之和为素数的数*/
#include<stdio.h>
int suShu(int s) {
if(s <= 1)return 1;
int i,flag=0;
for(i=2; i<s; i++) {
if(s%i==0) {
flag=1;
break;
}
}
return flag;
}
int main(void) {
int i,sum=0,n=0;
for(i=1000; i<10000; i++) {
sum=i/1000+i/100%10+i/10%10+i%10;
if(suShu(sum)==0) {
printf("%d ",i);
n++;
}
}
printf("%d",n);
} 昨非 发表于 2020-11-15 21:02
那就把1000去掉呗
只要素数判断没问题,带不带1000根本不影响结果啊
好的,谢谢 baige 发表于 2020-11-15 21:10
好的,谢谢
页:
[1]