Viết chương trình nhập vào một số"kiểm tra số đó có phải số chính phương hay không"ai biết giúp mình với cảm ơn nhiều và chúc sức khoẻ
Viết chương trình nhập vào một số"kiểm tra số đó có phải số chính phương hay không"ai biết giúp mình với cảm ơn nhiều và chúc sức khoẻ
có thể nói rõ hơn đc không bạn"số chính phương là số có căn bậc hai là số nguyên"ai mà chẳng biết"mà chương trình cụ thể là như thế nào"thuật toán đó"
nhập zô n rồi sqrt(n)=một số nguyên làm sao xác đinh nó là sô nguyên đó mình k biết dùng cái hàm gì trong c để xác định đó"chứ bạn nói chung chung thế minh k biết cách làm"có cách nào chỉ dùm mình với.
nam_long muốn nói như thế này:
1. n là số nhập vào
2. r = căn bậc hai của n
3. nếu r*r = n => chính phương
/* nhớ là phải có dòng #include <math.h> ở đầu */
/* n đã nhập rồi */
int r = (int)sqrt(n); /* tùy theo compiler mà phải có phần (int) hay không */
printf((r*r==n)? "số chính phương": "không phải");
/* hết */
/* nếu không muốn dùng sqrt thì dùng thuật toán mò như sau */
int r = -1;
while ((++r * r) < n);
printf((r*r==n)? "số chính phương": "không phải");
Được sửa bởi megaownage lúc 10:24 ngày 19-03-2010 Reason: chính tả: đánh nhầm n thành m
#include<iostream>
using namespace std;
#include<math.h>
bool KTChinhPhuong(int n)
{
int can=(int)sqrt(n);
if(can*can==n)
return true;
else
return false;
}
void main()
{
int n;
cout<<"Nhap vao mot so";
cin>>n;
bool KT=KTChinhPhuong(n);
if(KT)
cout<<"Day la so chinh phuong";
else
cout<<"Day khong phai la so chinh phuong";
}
Bookmarks