![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C语言问题 ,在线等,急!!!
选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。下面的是主...
选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。
下面的是主要程序:
#include <stdio.h>
int cnt, sum ;
void countValue()
{ int i,j,bw,sw,gw;
for(i=100;i<1000;i++)
{ bw=i/100; sw=i%100/10; gw=i%10;
for(j=2;j<i;j++)
if(i%j==0) break;
if((i==j) &&(gw+sw)%10==bw) { cnt++; sum+=i;}
}
}
其中 这句 for(j=2;j<i;j++)
if(i%j==0) break; 我不知道它讲的是什么意思?求高手解答。如果可以的话帮我把程序讲解一遍。 展开
下面的是主要程序:
#include <stdio.h>
int cnt, sum ;
void countValue()
{ int i,j,bw,sw,gw;
for(i=100;i<1000;i++)
{ bw=i/100; sw=i%100/10; gw=i%10;
for(j=2;j<i;j++)
if(i%j==0) break;
if((i==j) &&(gw+sw)%10==bw) { cnt++; sum+=i;}
}
}
其中 这句 for(j=2;j<i;j++)
if(i%j==0) break; 我不知道它讲的是什么意思?求高手解答。如果可以的话帮我把程序讲解一遍。 展开
4个回答
展开全部
if(i%j==0) break;如果i可以被j整除,那么就退出循环
显然 当一个数可以被另一个不是1以及本身的数整除的时候,这个数就不是素数,所以就没有必要再判定下去了,直接退出循环
谢谢采纳 有问题继续
显然 当一个数可以被另一个不是1以及本身的数整除的时候,这个数就不是素数,所以就没有必要再判定下去了,直接退出循环
谢谢采纳 有问题继续
展开全部
这句话就是选出i的最小因数(1除外)
i%j是求i处以j的余数,结果等于零就说明i是j的倍数,找到合适的值后执行break跳出这个for循环
i%j是求i处以j的余数,结果等于零就说明i是j的倍数,找到合适的值后执行break跳出这个for循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
else
{}
}
这样是不是懂了呢 就是省略很多括号
{
if(i%j==0)
{
break;
}
else
{}
}
这样是不是懂了呢 就是省略很多括号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(i%j==0) break;如果i/j的余数为0,break;
for(i=100;i<1000;i++)
从100到1000里找,
bw=i/100; sw=i%100/10; gw=i%10;
取出数的百位,十位,各位。
for(j=2;j<i;j++)
if(i%j==0) break;
判断是否为素数,是则跳出。
if((i==j) &&(gw+sw)%10==bw) { cnt++; sum+=i;}
如不是,判断满足题目条件否。满足,则计入。
for(i=100;i<1000;i++)
从100到1000里找,
bw=i/100; sw=i%100/10; gw=i%10;
取出数的百位,十位,各位。
for(j=2;j<i;j++)
if(i%j==0) break;
判断是否为素数,是则跳出。
if((i==j) &&(gw+sw)%10==bw) { cnt++; sum+=i;}
如不是,判断满足题目条件否。满足,则计入。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询