C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

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

  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. 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