float a = 5.3;
if(a - (int)a == 0) cout <<"nguyen";
else cout <<"Khong Nguyen";
Em đang bí một bài toán. Cho một khoảng số nguyên từ a đến b, kiểm tra xem có bao nhiêu số mà khi căn của số đó lên thì được một số nguyên. Em không biết làm sao để kiểm tra số sau khi căn bậc 2 có phải là số nguyên hay không?Mọi người giúp đỡ em nhé.
float a = 5.3;
if(a - (int)a == 0) cout <<"nguyen";
else cout <<"Khong Nguyen";
Liệt kê các số chính phương trong khoảng a,b
double x;
for(i=a;i<=b;i++)
{
x=sqrt(i);
if((long)x==x)
cout<<i<<" ";
}
Mình nghĩ thế này không biết có đúng không, cho vòng for duyệt các số từ a đến b, với mỗi lần lặp sẽ kiểm tra số i (i là số chạy từ a ->b ): nếu i - ((int)(sqrt)i)*((int)(sqrt)i) = 0 thì i là số nguyên cần tìm, thêm vào biến đếm số: dem++, sau vòng lặp for thì in ra biến dem là ok
^_,^
Facebook : https://www.facebook.com/langmaninternet
Bùi Tấn Quang
.::[The best way to predict the future is to invent it]::.
__________________________________________________ _ - Alan Kay -