C++で平方数なのかを判別する方法
今回の問題はUVA11461です。
Online Judge
Online Judge
”a,bの二つの数字が入力されて、その数字の範囲内にどれだけの平方数があるのかを数えろ”という問題です。
サンプルコード
GitHub上にサンプルコードを掲載しております。※参考に
cpe/一顆星/uva11461/01.cpp at main · mintson0517/cpe
Contribute to mintson0517/cpe development by creating an account on GitHub.
コードの解説
int a, b;
while (cin >> a >> b) {
if (a == 0 && b == 0) {
break;
}
まずはaとbは100000以内なのでint型で定義をします。
その後While構文で入力がなくなるまでinputしてもらえるようにして、最後に(0,0)と入力されたら終了と書きました。
int count = 0;
for (int i = a; i <= b; i++) {
int root = sqrt(i);
if (root * root == i) {
count++;
}
}
cout << count << endl;
}
平方数の数をカウントするので(count=0)にして、もし平方数が見つかったら+1します。
今回の平方数を見つける方法はsqrt(square root)-ルートを使用しました。
sqrt関数を使用する場合はinclude <cmath> が必要!
rootの2乗がiの数になった場合はCount++でカウントをして、forループで範囲内のすべての数字を判別。
最後にcountを出力して答えを表示して終了です。