1樓:大漠鳳蕭蕭
完全平方
來指用一個整數乘自
以自己例如1*1,2*2,3*3等,依此類推。若一個數能表示成某個整數的平方的形式,則稱這個數為完全平方數
都不記得啥是完全平方數了
先寫個匯入數學庫的方法,直接判斷 結果是不是整 數就結束了import math
x=3math.sqrt(x)
不過理論上課本上的題不讓用數學函式
直接迴圈判斷 1*1,2*2,3*3 判斷結果等不等於這個數即可for i in range(1,1000)if i*i == x:
yes---no
c語言中如何判斷一個數是完全平方數
2樓:幻翼高達
需要準備的材料分別有:電腦、c語言編譯器。
1、首先,開啟c語言編譯器,新建初始.cpp檔案,例如:test.cpp。
2、其次,在test.cpp檔案中,輸入c語言**:
int a = 64;double c = sqrt(a);
if (c == int(c))
printf("是完全平方數");
else
printf("不是完全平方數");
3、編譯器執行test.cpp檔案,此時成功快速識別出了是不是完全平方數。
3樓:匿名使用者
#include
#include
int main()}
4樓:凌亂心扉
#include
#include
int issquare(int n)
}return a;
}int main()
else
printf("no");
return 0;}
5樓:匿名使用者
對於一個比較大的整數,比如:23916,一共有5位數字,假設它是完全平方數,那麼它的平方根應該是一個3位數,因為100的平方是最小的5位數。
同時,這個平方根應該小於200,因為200的平方是40000比原數大。取箇中間數150,因為已知15的平方是225,所以很容易算出150的平方是22500,比原數小。
同理,算出160的平方是25600,比原數大。所以,如果24346時一個完全平方數,它的平方根應該大於150且小於160。完全平方數,凡是個位為6的,其平方根個位必為4或6。
計算154的完全平方,等於 23716 比 23916 小200,計算156的完全平方,等於 24336 比 23916 大420,所以23916不是完全平方數。
擴充套件資料
應用:有多少個正整數n,使n!+2019是完全平方數,注:n!=1*2*...*n,即n的階乘。
講解思路:這道題屬於完全平方數問題,要判斷一個數是完全平方數,除了嚴格驗證外,目前還沒有完善的方法。但要判斷一個數不是完全平方數,有很多種性質可以用,
這裡採用除以4的餘數來判別。由於n!具有十分特別的性質,因此總的解題思路是:先判斷當n>=4時的情況,然後對n<4時的3個數逐一驗證。
步驟1:
先思考第一個問題,
當n大於等於4時,
n!+2019除以4的餘數是多少。
此時n!=1*2*3*4...*n,
故n!是4的整數倍,
而2019除以4的餘數是3,
因此n!+2019除以4的餘數是3。
步驟2:
再思考第二個問題,
當n大於等於4時,
n!+2019可能是完全平方數嗎。
此時n!+2019是奇數,
如果它是完全平方數,
則存在某自然數k,
使n!+2019=(2k+1)^2
=4k^2+4k+1,
顯然該數除以4的餘數為1,
這與步驟1的結論想矛盾,
因此不是完全平方數。
注:k^2表示k的平方。
步驟3:
再思考第三個問題,
考慮原題目的答案。
從步驟2直到n小於4,
下面對n=1,2,3分別討論:
當n=1時,
n!+2019=2020不是完全平方數;
當n=2時,
n!+2019=2021不是完全平方數;
當n=3時,
n!+2019=2025=45^2,
是完全平方數。
所以原題的答案只有n=3。
6樓:珂珂珂樂
你把double b,c,x,y;定義成int型別就正確了。如果你定義成double行那麼if(c==a)這個條件是永遠成立的。
7樓:匿名使用者
完全平方即用一個整數乘以自己例如1*1,2*2,3*3等等,依此類推。若一個數能表示成某個數的平方的形式,則稱這個數為完全平方數。完全平方數是非負數。
而一個完全平方數的項有兩個。注意不要與完全平方式所混淆。
例如:0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529...
觀察這些完全平方數,可以獲得對它們的個位數、十位數、數字和等的規律性的認識。下面我們來研究完全平方數的一些常用性質:
性質1:末位數只能是0,1,4,5,6,9。
(此為完全平方數的必要不充分條件,且定義為"一個數如果是另一個整數的完全平方,那麼我們就稱這個數為完全平方數",0為整數,故0是完全平方數)
性質2:奇數的平方的個位數字一定是奇數,偶數的平方的個位數一定是偶數。
證明 奇數必為下列五種形式之一:
10a+1,10a+3,10a+5,10a+7,10a+9
分別平方後,得
綜上各種情形可知:奇數的平方,個位數字為奇數1,5,9;十位數字為偶數。
性質3:如果十位數字是奇數,則它的個位數字一定是6;反之也成立
證明 已知
,證明k為奇數。因為k的個位數為6,所以m的個位數為4或6,於是可設m=10n+4或10n+6。則或即
或∴ k為奇數。
推論1:如果一個數的十位數字是奇數,而個位數字不是6,那麼這個數一定不是完全平方數。
推論2:如果一個完全平方數的個位數字不是6,則它的十位數字是偶數。
性質4:偶數的平方是4的倍數;奇數的平方是4的倍數加1。
這是因為
性質5:奇數的平方是8n+1型;偶數的平方為8n或8n+4型。
(奇數:n比那個所乘的數-1;偶數:奇數:n比那個所乘的數-2)
在性質4的證明中,由k(k+1)一定為偶數可得到 是8n+1型的數;由為奇數或偶數可得(2k)為8n型或8n+4型的數。
性質6:形式必為下列兩種之一:3k,3k+1。
因為自然數被3除按餘數的不同可以分為三類:3m,3m+1,3m+2。平方後,分別得
同理可以得到:
性質7:不是5的因數或倍數的數的平方為5k+-1型,是5的因數或倍數的數為5k型。
性質8:形式具有下列形式之一:16m,16m+1,16m+4,16m+9。
除了上面關於個位數,十位數和餘數的性質之外,還可研究完全平方數各位數字之和。例如,256它的各位數字相加為2+5+6=13,13叫做256的各位數字和。如果再把13的各位數字相加:
1+3=4,4也可以叫做256的各位數字的和。下面我們提到的一個數的各位數字之和是指把它的各位數字相加,如果得到的數字之和不是一位數,就把所得的數字再相加,直到成為一位數為止。我們可以得到下面的命題:
一個數的數字和等於這個數被9除的餘數。
下面以四位數為例來說明這個命題。
設四位數為,則
1000a+100b+10c+d
= 999a+99b+9c+(a+b+c+d)
=9(111a+11b+c)+(a+b+c+d)
顯然,a+b+c+d是四位數被9除的餘數。
對於n位數,也可以仿此法予以證明。
關於完全平方數的數字和有下面的性質:
性質9:數字之和只能是0,1,4,7,9。
證明 因為一個整數被9除只能是9k,9k±1,9k±2,9k±3,9k±4這幾種形式,而
除了以上幾條性質以外,還有下列重要性質:
性質10:為完全平方數的充分必要條件是b為完全平方數。
證明 充分性:設b為平方數,則=(ac)
必要性:若為完全平方數,=,則
性質11:如果質數p能整除a,但p的平方不能整除a,則a不是完全平方數。
證明 由題設可知,a有質因數p,但無因數,可知a分解成標準式時,p的次方為1,而完全平方數分解成標準式時,各質因數的次方均為偶數,可見a不是完全平方數。
性質12:在兩個相鄰的整數的平方數之間的所有整數都不是完全平方數。
即若則k一定不是整數。
性質13:一個正整數n是完全平方數的充分必要條件是n有奇數個因數(包括1和n本身)。
8樓:談世城
c語言中判斷一個數是完全平方數,可以通過判斷其平方根是否為整數來判斷,平方根若為整數,則為完全平方數,否則不是。
根據你的描述,可以完善如下:
# include
# include
int main( void )
return 0;
}完全平方數,即用一個整數乘以自己例如1*1,2*2,3*3,等等,依此類推。若一個數能表示成某個整數的平方的形式,則稱這個數為完全平方數。完全平方數是非負數。
而一個完全平方數的項有兩個。注意不要與完全平方式所混淆。
9樓:匿名使用者
一、數學概念:
完全平方即用一個整數乘以自己例如1*1,2*2,3*3等,依此類推。若一個數
能表示成某個整數的平方的形式,則稱這個數為完全平方數。
二、演算法設計:
根據概念,只要存在一個整數m,使得m*m的值為n,那麼n就是完全平方數了。
於是只需要對可能的m進行遍歷,即可得到n是否為完全平方數的結論了。
三、參考**:
#include
int main()
10樓:匿名使用者
這個不是很難,你仔細看看下面的例子!
#include "math.h"
#include "stdio.h"
#include "conio.h"
main()
getch();}
11樓:
這樣寫。
int b;
b=int(sqrt(a))
if(b*b==a)
12樓:as張康健
很簡單的這個
直接 if ( sqrt(a) == (int)sqrt(a) )yes;
elseno;
13樓:匿名使用者
用迴圈××
××××××××××××××××
program pf(input,output);
uses crt;
var r:char;
procedure pfjs ;
var a,c,b:longint;
begin
repeat
write ('input a number(n>=0):');
readln (a);
until a>=0;
if a=0 then writeln ('0^2=0') else begin
c:=0;
b:=1;
repeat
c:=c+b;
b:=b+2;
until (c=a) or (exp(ln((b-1)/2)*2)>a);
if c=a then writeln ((b-1)/2:3:0,'^2=',a) else writeln ('no!');
end;
end;
begin
clrscr;
repeat
pfjs;
writeln (again?(y/n)');
r:=readkey;
writeln (r);
until (r='n') or (r='n');
end.
×××××××××××××××××××××××
以上pascal源程式使用了 公式 1+3+5+7+...+(2n-1)=n^2
判斷數是不是質數的演算法,流程圖,判斷一個數是不是質數的演算法,流程圖
兩個演算法 1。輸入一個數n flag 0 for int i 2 i for int j 2 j if flag 0 printf 是質數 2.輸入一個數n flag 0 for int i 2 i if int n i n i int n i 1 printf 不是質數 flag 1 break...
怎麼判斷是不是酒糟鼻,如何判斷是不是酒渣鼻?
由於酒渣鼻與某些疾病類似,所以需要進行有關的辨別,有關酒渣鼻如何辨別內容解析如下。酒渣鼻的辨別症狀 一般現象為面部中心對稱性的損害,而且有鼻子潮紅,表面油膩發亮,持續存在伴有瘙癢 灼熱和疼痛感等症狀,而且一般在晚期會伴有鼻贅等損害。需要辨別的疾病如下。1 痤瘡 多發於青春期,皮損除侵犯面部外,胸部背...
平菇是不是凍菌
生長條件 營養平菇屬木腐生菌類。菌絲通過分泌多種酶,能將纖維素 半纖維素 木質素及澱 姬菇 粉 果膠等成分分解成單糖或雙糖等營養物,作為碳源被吸收利用,還可直接吸收有機酸和醇類等,但不能直接利用無機碳。平菇以無機氮 銨鹽 硝酸鹽等 和有機氮化合物 尿素 氨基酸 蛋白質等 作為氮源。蛋白質要通過蛋白酶...