小白,求大神帮忙看一下,到底哪出错了
小白,求助,求大神帮忙看一下,到底哪出错了?
#include<stdio.h>
int main()
{int a,i,n,m;
int sum=0;
int c=0;
int isPrime=1;
scanf("%d %d",&n,&m);
for(i=2;i<1000;i++){
for (a=2;a<i;a++){
if(i%a==0){
isPrime=0;
break;
}
}if(isPrime==1){
c++;
if(n==c){
sum+=i;
n++;
if(m==c){
printf("%d\n",sum);
break;
}
}
}
}
return 0;
}
g
------解决思路----------------------
#include<stdio.h>
int main()
{int a,i,n,m;
int sum=0;
int c=0;
int isPrime=1;
scanf("%d %d",&n,&m);
for(i=2;i<1000;i++){
isPrime=1;
for (a=2;a<i;a++){
if(i%a==0){
isPrime=0;
break;
}
}if(isPrime==1){
c++;
if(n==c){
sum+=i;
n++;
if(m==c){
printf("%d\n",sum);
break;
}
}
}
}
return 0;
}
------解决思路----------------------
对挖,如果改成了for(i=2;i>0;i++)会无限死循环诶
------解决思路----------------------
i 每次循环, isprime都需要重新初始化,在;m==c时会break 当然不会死循环
------解决思路----------------------
不会的,i加到一定程度就会变负数了。
#include<stdio.h>
int main()
{int a,i,n,m;
int sum=0;
int c=0;
int isPrime=1;
scanf("%d %d",&n,&m);
for(i=2;i<1000;i++){
for (a=2;a<i;a++){
if(i%a==0){
isPrime=0;
break;
}
}if(isPrime==1){
c++;
if(n==c){
sum+=i;
n++;
if(m==c){
printf("%d\n",sum);
break;
}
}
}
}
return 0;
}
g
------解决思路----------------------
#include<stdio.h>
int main()
{int a,i,n,m;
int sum=0;
int c=0;
int isPrime=1;
scanf("%d %d",&n,&m);
for(i=2;i<1000;i++){
isPrime=1;
for (a=2;a<i;a++){
if(i%a==0){
isPrime=0;
break;
}
}if(isPrime==1){
c++;
if(n==c){
sum+=i;
n++;
if(m==c){
printf("%d\n",sum);
break;
}
}
}
}
return 0;
}
------解决思路----------------------
对挖,如果改成了for(i=2;i>0;i++)会无限死循环诶
------解决思路----------------------
i 每次循环, isprime都需要重新初始化,在;m==c时会break 当然不会死循环
------解决思路----------------------
不会的,i加到一定程度就会变负数了。