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