素?cái)?shù)是怎么判斷的?
#include <stdio.h>
int main()
{
??? int m, n;
??? for(m=2; m<=50; m++)
??? {
??for(n=2; n<m; n++)
??????? {
??????????? if(m%n==0)?????? //什么條件下跳出當(dāng)前循環(huán)
????????????? break;???????????????? //這里應(yīng)該退出當(dāng)前循環(huán)了
??}?
??????? if(m == n)?? //n循環(huán)結(jié)束后,如果m=n的話就輸出m
??????????? printf("%d", m);
?}
?return 0;???
}
不是很理解答案?
2015-12-06
首先了解一下素?cái)?shù)的概念。素?cái)?shù)是只能除以1和自身的數(shù)。
這里2個(gè)for循環(huán),外面的for循環(huán)是遍歷0-50這幾個(gè)數(shù)的,里面的for是看m除了自己還能不能被整除。
外面的for從2開始算m是不是素?cái)?shù),n是除數(shù),除數(shù)從2開始,如果m除以2余數(shù)為0,說明m能被2整除,則m不是素?cái)?shù),里面for循環(huán)break,繼續(xù)算外面的for循環(huán)m+1。
2016-02-20
for(i=2;i<=n-1;i=i+1) ,這句中的i=i+1是不是可以換成i++???
2015-12-11
給你一個(gè)類似的
#include<stdio.h>
main()
{ ?
int i,n,j;
j=0;
? ? for(n=101;n<=300;n++) ??
{ ?
for(i=2;i<=n-1;i=i+1) ? ?
? ? ? ? ? ?if(n%i==0) ? ?
? ? ? ? ? ? ?break; ? ?
? ? ? ? ? ? if(i>=n)
printf("%d\n",n);
} ?
printf("%d",j);
}