Mr Bon rất thích thú với các loại số. Cậu ấy đang nghiên cứu số chính phương. Chúng ta đều biết số chính phương là số bằng bình phương một số tự nhiên khác. Vấn đề của Mr Bon đặt ra khá đơn giản: anh ấy nhập liên tục các số nguyên dương và yêu cầu khi nhập đúng số chính phương thì chương trình dừng lại và in ra số chính phương đó. Yêu cầu: In ra số chính phương đầu tiên trong dãy n (n≤ 106) số nguyên dương cho trước. Dữ liệu: Gồm 1 dòng ghi n (n≤ 106) số nguyên dương kiểu long long. Kết quả: Ghi ra số chính phương đầu tiên trong dãy, nếu không tồn tại thì ghi ra -1 Ví dụ input 2 5 6 9 8 output 9
1 câu trả lời
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
bool f=false;
while(cin>> n){
long long z = sqrt(n);
if ( z*z == n )
{
cout<<n<<" ";
f = true;
}
if ( f == true ) break;
}
if ( f == false ) cout<<-1;
}
Câu hỏi trong lớp
Xem thêm