Số chính phương là một số nguyên dương bằng bình phương của một số nguyên dương. Ví dụ: 1, 4, 9, 16, 100 … là những số chính phương; còn 3, 8, 15 … không phải là những số chính phương.
Cho trước một số nguyên dương n. Em hãy kiểm tra xem n có phải là số chính phương không?
Input: Một dòng duy nhất chứa số nguyên dương n.
Output: Đưa ra thông báo "yes" nếu n là số chính phương, ngược lại thông báo "no".
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
uses crt;
var n:integer;
begin
clrscr;
readln(n);
if trunc(sqrt(n))=sqrt(n) then writeln('yes')
else writeln('no');
readln;
end.
(SCP là viết tắt của số chính phương)
Ta có: 13 = 1; 23 = 8; 33 = 27; 43 = 64.
● 13 + 23 = 1 + 8 = 9.
Mà 9 = 32 là SCP (vì là bình phương của 3) nên 13 + 23 là SCP.
13 + 23 + 33 = 1 + 8 + 27 = 36.
Mà 36 = 62 là SCP (vì là bình phương của 6) nên 13 + 23 + 33 là SCP
13 + 23 + 33 + 43 = 1 + 8 + 27 + 64 = 100.
Mà 100 = 102 là SCP (vì là bình phương của 10) nên 13 + 23 + 33 + 43 là SCP.
Vậy mỗi tổng đã cho đều là số chính phương.
1936 (= 44x44)
Vậy năm chính phương gần đây (trước năm 2017) là năm 1936
Số số hạng của tổng đã cho là :
[(2n - 1) - 1] : 2 + 1 = (2n - 2)) : 2 + 1
= 2(n - 1) : 2 + 1
= n - 1 + 1
= n
Trung bình ộng của tổng là :
[(2n - 1) + 1] : 2 = (2n - 1 + 1) : 2
= 2n : 2
= n
Khi đó ; 1 + 3 + 5 = .... + (2n - 3) + (2n - 1) = n.n = n2
Vậy 1 + 3 + 5 = .... + (2n - 3) + (2n - 1) là số chính phương
#include <bits/stdc++.h>
using namespace std;
long long a[1000006];
long long n;
int main()
{
for(int i=1;i<=1000006;i++){
a[i]=i*i;
}
cin>>n;
for(int i=1;i<=n;i++){
if(a[i]%n==0){cout<<a[i]/n;break;}
}
return 0;
}
Bài này hay thật mình thì chỉ nghĩ ra mỗi cách này. Nhưng ko biết vs học phô thông thì tư duy thế nào
1 số chính phương có tận cùng bằng 0,1,4,5,6,9
N+1 tận cùng =9=> n tận cùng bằng 8 => 2n+1 tận cùng =7 => loại
(2n+1)-(n+1)=n=a^2-b^2=(a-b)(a+b)
2n+1 là số lẻ => a lẻ
N chẵn=> b chẵn
1 số chính phương chia cho 4 dư 0 hoặc 1 => (a+b)(a-b) chia hết cho 8
Còn nó chia hết cho 3 hay không thì phải dùng định lý của fermat đẻ giải
http://en.wikipedia.org/wiki/Fermat%27s_little_theorem
như vậy chưng minh no chia het cho 8 và 3 là có thể két luạn nó chia hêt cho 24
const
fi='sochinhphuong.inp';
fo='sochinhphuong.out';
var f,g:text;n:longint;
function scp(n:longint):boolean;
begin
if (sqr(trunc(sqrt(n)))=n) then exit (true);
exit (false);
end;
begin
assign(f,fi);reset(f);
assign(g,fo);rewrite(g);
readln(f,n);
if scp(n) then writeln(g,'yes') else
writeln(g,'no');
close(f);close(g);
end.