有沒有大神告訴我 這是為什么
作者的標(biāo)準(zhǔn)答案中用除數(shù)(m)去除于被除數(shù)(n),但在子循環(huán)中邏輯式中式要求n<m,為什么還會有后面的n=m,并且還輸出了?還有如果按這個公式算的話4/4余0,4=4,為什么4沒有輸出以及6除于6,8除于8........,
作者的標(biāo)準(zhǔn)答案中用除數(shù)(m)去除于被除數(shù)(n),但在子循環(huán)中邏輯式中式要求n<m,為什么還會有后面的n=m,并且還輸出了?還有如果按這個公式算的話4/4余0,4=4,為什么4沒有輸出以及6除于6,8除于8........,
2022-06-09
舉報(bào)
2023-02-17
因?yàn)椴豢赡艹霈F(xiàn)你說的這種情況,外層循環(huán)當(dāng)m=4的時(shí)候,到子循環(huán)n是從2開始遍歷2到4之間的數(shù)
2022-11-02
暴力從2一直遍歷到自身 如果能取模為0(至少含有2這個因子 ) 說明不是素?cái)?shù) 跳出遍歷 繼續(xù)判定下一個數(shù) 暴力遍歷??
2022-10-19
#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;? ??
}
首先說明一下什么是素?cái)?shù),素?cái)?shù)就是只能被1和它本身整除的數(shù),搞清楚后就開始講這個程序是怎么一步一步來的;
第一次:最外頭的for循環(huán)給的m的初始值為2,即m=2,然后就開始內(nèi)部的for循環(huán)了,即n=2,m%n(2%2==0),所以就輸出m了,即2是素?cái)?shù);第二次最外頭的for循環(huán)m=3,而內(nèi)for循環(huán)的n的值就回到n=2了,而不是n=3,就會變成3%2!=0,然后n自增變成n=3了,就變成3%3==0,所以3是素?cái)?shù);第三次最外頭的for循環(huán)m=4,內(nèi)for循環(huán)n=2,然后4%2==0,但4與2不相等,所以4不是素?cái)?shù),后面以此類推,我第一次講,希望我講清楚了
2022-07-24