C++での平方数の合計
負でない整数cがあるとすると、a ^ 2 + b ^ 2=cを満たすように2つの整数aとbがあるかどうかを判断する必要があります。
したがって、入力が61のような場合、61 =5 ^ 2 + 6 ^ 2のように、出力はTrueになります。
これを解決するには、次の手順に従います-
-
関数isPerfect()を定義します。これにはxが必要です
-
sr:=xの平方根
-
(sr-srのフロア)が0の場合にtrueを返します
-
メインの方法から、次のようにします。
-
cが0と同じ場合、-
-
trueを返す
-
-
初期化i:=0の場合、i
-
b:=c --i * i
-
isPerfect(b)が真の場合、-
-
trueを返す
-
-
-
falseを返す
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
bool isPerfect(int x){
long double sr = sqrt(x);
return ((sr - floor(sr)) == 0);
}
bool judgeSquareSum(int c) {
if (c == 0)
return true;
int b;
for (int i = 0; i < ceil(sqrt(c)); i++) {
b = c - i * i;
if (isPerfect(b))
return true;
}
return false;
}
};
main(){
Solution ob;
cout << (ob.judgeSquareSum(61));
} 入力
61
出力
1
-
自然数の合計を計算するC++プログラム
自然数は1から始まる正の整数です。 自然数のシーケンスは-です 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… 最初のn個の自然数の合計は、forループまたは式を使用して計算できます。 これらの両方の方法を指定するプログラムは次のとおりです- forループを使用した自然数の合計。 forループを使用してn個の自然数の合計を計算するプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main() { int n=5, sum=0, i;
-
2つの数値を追加するC++プログラム
加算は基本的な算術演算です。 2つの数値を加算するプログラムは、2つの数値の加算を実行し、それらの合計を画面に出力します。 2つの数字の加算を示すプログラムは次のとおりです- 例 #include <iostream> using namespace std; int main() { int num1=15 ,num2=10, sum; sum = num1 + num2; cout<<"Sum of "<<num1<<" and &q