Đề bài
Viết chương trình nhập một số nguyên n, in ra các số chính phương chạy từ 1 đến n.
Ý tưởng thuật toán
Định nghĩa số chính phương
Số chính phương là số tự nhiên có căn bậc hai là một số tự nhiên. Hay nói cách khác, số chính phương là bình phương (lũy thừa bậc 2) của một số tự nhiên.
Số chính phương là các số không âm.
Định nghĩa khác: số chính phương là số có căn bậc hai là một số nguyên.
Code kiểm tra số chính phương trong C++
Nhập vào một số nguyên n, sau đó kiểm tra số đó có phải số chính phương hay không.
#include <iostream> #include <math.h> using namespace std; int main(){ float n,x,y; cout<<"Nhap n: "; cin>>n; x=sqrt(n); y=(int)x; if (x==y) cout<<n<<" La so chinh phuong"; else cout<<n<<" Khong la so chinh phuong"; }
Code in ra số chính phương từ 1 đến n trong C++
Cách 1
#include <iostream> using namespace std; int main(){ int n,x; cout<<"Nhap n: "; cin>>n; cout<<"Cac so chinh phuong tu 1 den "<<n<<" la "; for (int i=1; i<=n; i++) { for (x=1; x<=i; x++) { if (x*x==i) cout<<" "<<i; } } }
Cách 2
#include <iostream> #include <math.h> using namespace std; int main(){ int n,i; float x,y; cout<<"Nhap n: "; cin>>n; cout<<"Cac so chinh phuong tu 1 den "<<n<<" la:\n"; for (i=1;i<=n;i++) { x=sqrt(i); y=(int)x; if (x==y) cout<<i<<" "; } }
Cách 3
#include <iostream> using namespace std; int main(){ int n; float x,y,i; cout<<"Nhap n: "; cin>>n; cout<<"Cac so chinh phuong tu 1 den "<<n<<" la:\n"; for (i=1;i*i<=n;i++) cout<<i*i<<" "; }