怎么判斷是不是完全平方數(shù) 在c語(yǔ)言中,怎么判斷一個(gè)數(shù)是否為完全平方數(shù)?
在c語(yǔ)言中,怎么判斷一個(gè)數(shù)是否為完全平方數(shù)?一、數(shù)學(xué)概念:完全平方就是把自己乘以一個(gè)整數(shù),比如1*1、2*2、3*3等等。如果一個(gè)數(shù)可以表示為整數(shù)的平方,則稱(chēng)它為完全平方數(shù)。2.算法設(shè)計(jì):根據(jù)概念,只
在c語(yǔ)言中,怎么判斷一個(gè)數(shù)是否為完全平方數(shù)?
一、數(shù)學(xué)概念:完全平方就是把自己乘以一個(gè)整數(shù),比如1*1、2*2、3*3等等。如果一個(gè)數(shù)可以表示為整數(shù)的平方,則稱(chēng)它為完全平方數(shù)。2.算法設(shè)計(jì):根據(jù)概念,只要有一個(gè)整數(shù)m使得m*m的值為n,那么n就是一個(gè)完全的平方數(shù)。所以我們只需要遍歷可能的m,就可以得到n是否是完全平方數(shù)的結(jié)論。
72是平方數(shù)嗎?
722*2*2*3*3(2*3)*(2*3)*2不能寫(xiě)成兩個(gè)整數(shù)的乘積,所以72不是平方數(shù)。
完全平方就是把自己乘以一個(gè)整數(shù),比如1*1,2*2,3*3等等。如果一個(gè)數(shù)可以表示為整數(shù)的平方,則稱(chēng)它為完全平方數(shù)。完全平方數(shù)是非負(fù)的,一個(gè)完全平方數(shù)有兩項(xiàng)。注意不要與完全平坦的混淆。
4000是不是完全平方數(shù)?
要看一個(gè)數(shù)是不是完全平方數(shù),只要開(kāi)根號(hào)就行了。出來(lái)的是一個(gè)整數(shù),是一個(gè)完整的平方數(shù)。如果不是整數(shù),就不是完整的平方數(shù)。
4000的根號(hào)后是(20) √ 10,不是整數(shù),所以4000不是完整的平方數(shù)。
c語(yǔ)言中怎么判斷一個(gè)數(shù)是不是完全平方數(shù)?
c編程語(yǔ)言
這有幾種方法。
第一種是,最直接的方法,分別用1*1,2*2,直到k*k分別與n比較,循環(huán)退出條件是:
K*kn,則n是完全平方數(shù),或者k*kltn和(k ^ 1)(k ^ 1)gtn,則n不是完全平方數(shù)。
第二種方法是先求n的根,然后取整數(shù)部分,再乘以整數(shù)部分。僅僅是n就意味著n是一個(gè)完全的平方數(shù),否則就不是。
第三種方法是完整的平方數(shù)可以寫(xiě)成奇數(shù)的連續(xù)和,一般有一個(gè)公式:
1 3 5 7 ...(2n-1)n*n
所以,判斷一個(gè)數(shù)是否是完全平方數(shù),減去1,3,5,7,...并退出循環(huán),直到結(jié)果為0或負(fù)數(shù)。如果結(jié)果為0,則是完全平方數(shù),否則不是。