c語(yǔ)言判斷能否被3或7整除 c語(yǔ)言中如何判斷整除為真?
c語(yǔ)言中如何判斷整除為真?按%判斷,也就是取余數(shù),如果沒(méi)有余數(shù),可以整除。在C語(yǔ)言中,整除是/號(hào),而%號(hào)是余數(shù)運(yùn)算符。整除運(yùn)算符(/)要注意運(yùn)算結(jié)果會(huì)自動(dòng)轉(zhuǎn)換成與被除數(shù)一致的數(shù)據(jù)類型。在C語(yǔ)言中,如果
c語(yǔ)言中如何判斷整除為真?
按%判斷,也就是取余數(shù),如果沒(méi)有余數(shù),可以整除。
在C語(yǔ)言中,整除是/號(hào),而%號(hào)是余數(shù)運(yùn)算符。整除運(yùn)算符(/)要注意運(yùn)算結(jié)果會(huì)自動(dòng)轉(zhuǎn)換成與被除數(shù)一致的數(shù)據(jù)類型。
在C語(yǔ)言中,如果除法的左右兩邊都是整數(shù),那就是整除,如果有實(shí)數(shù)類型,那就是小數(shù)的常見(jiàn)除法。
100中能被7整除的數(shù)c語(yǔ)言?
100中能被7整除的數(shù)字有13個(gè),分別是7,14,21,28,35,42,49,56,63,70,77,84,91。13這個(gè)數(shù)是7的倍數(shù),也可以作為被除數(shù)。所以數(shù)值運(yùn)算也很有意思,而且是相互關(guān)聯(lián)的。三個(gè)數(shù)中,知道兩個(gè)已知的數(shù),就會(huì)算出第三個(gè)數(shù)。現(xiàn)在數(shù)字進(jìn)入了各個(gè)領(lǐng)域,數(shù)字給我們的生活增添了色彩。
c語(yǔ)言中判斷素?cái)?shù)的方法?
c語(yǔ)言判斷素?cái)?shù)(求素?cái)?shù))(兩種方法)
質(zhì)數(shù)也叫質(zhì)數(shù)。所謂質(zhì)數(shù),是指除了1和它本身之外,不能被任何整數(shù)整除的數(shù)。例如,17是一個(gè)質(zhì)數(shù),因?yàn)樗荒鼙?到16之間的任何整數(shù)整除。
思路1):因此,判斷一個(gè)整數(shù)M是否是素?cái)?shù),只需要將M除以2到M-1之間的每一個(gè)整數(shù)即可。如果兩個(gè)整數(shù)都不能被整除,那么M就是一個(gè)質(zhì)數(shù)。
想法二):另外,判斷方法可以簡(jiǎn)化。m不 t不必除以2和m-1之間的所有整數(shù),只需除以2和1之間的所有整數(shù)。如果m不能被2和2之間的任何整數(shù)整除,則m一定是素?cái)?shù)。比如判斷17是不是素?cái)?shù),只需要用17除以2到4之間的每一個(gè)整數(shù),就可以判斷17是素?cái)?shù),因?yàn)樗遣豢烧摹?/p>
原因:因?yàn)槿绻鹠能被2到m-1之間的任意整數(shù)整除,那么它的兩個(gè)因子中一定有一個(gè)小于或等于另一個(gè)。比如16可以被2、4、8整除,162*8,2小于4,8大于4,164*4,4√16,那么只需要判斷2和4之間是否有因子就可以了。
請(qǐng)看對(duì)這兩個(gè)想法的代碼的分析。
想法1的代碼):
#包含ltstdio.hgt
int main(){
Int a0 //素?cái)?shù)的個(gè)數(shù)
Int num0 //輸入的整數(shù)。
Printf(#34輸入一個(gè)整數(shù):#34)
掃描f(#34%d#34,ampnum)
for(int i2iltnumi ){
if(num%i0){
A //素?cái)?shù)個(gè)數(shù)加1
}
}
如果(a0){
Printf(#34%d是一個(gè)素?cái)?shù)。
第34名,女m)
}否則{
Printf(#34%d不是質(zhì)數(shù)。
第34位,數(shù)字)
}
返回0
}
想法2)代碼:
#包含ltstdio.hgt
#包含ltmath.hgt
void main(){
Int m //輸入了整數(shù)。
Int i //周期數(shù)
int k // m的平方根
Printf(#34輸入一個(gè)整數(shù):#34)
掃描f(#34%d#34,ampm)
//求平方根。注意,sqrt()的參數(shù)是double類型的。這里,m的類型被強(qiáng)制轉(zhuǎn)換。
k(int)sqrt( (double)m)
用于(i2iltki)
如果(m%i0)
破裂
//如果所有循環(huán)都完成了,那么m就是一個(gè)質(zhì)數(shù)。
//注意,在最后一個(gè)循環(huán)中,會(huì)執(zhí)行I,此時(shí)ik 1,所以有igtk。
if(igtk)
Printf(#34%d是一個(gè)素?cái)?shù)。
#34,m)
其他
Printf(#34%d不是質(zhì)數(shù)。
#34,m)
返回0
}
兩段代碼的輸出結(jié)果是相同的。
第一次運(yùn)行的結(jié)果:
輸入一個(gè)整數(shù):1
1是一個(gè)質(zhì)數(shù)。
第二次運(yùn)行的結(jié)果:
輸入一個(gè)整數(shù):97。
97是一個(gè)質(zhì)數(shù)。
第三次運(yùn)行的結(jié)果:
輸入一個(gè)整數(shù):10。
十不是質(zhì)數(shù)。