ホームページ > バックエンド開発 > C++ > C++ を使用して N 番目の非平方数を見つけるコードを作成する

C++ を使用して N 番目の非平方数を見つけるコードを作成する

WBOY
リリース: 2023-08-30 22:41:19
転載
1315 人が閲覧しました

C++ を使用して N 番目の非平方数を見つけるコードを作成する

私たちは皆、2、3、5、7、8 などの、任意の数の 2 乗ではない数字を知っています。非正方形の数は N 個あり、すべての数を知ることは不可能です。そこで、この記事では、平方なしまたは非平方数と、C で N 番目の非平方数を求める方法についてすべて説明します。

N 番目の非正方形の数

数値が整数の 2 乗である場合、その数値は完全平方と呼ばれます。完全な平方数の例としては、次のようなものがあります。 -

1 is square of 1
4 is square of 2
9 is square of 3
16 is square of 4
25 is square of 5
ログイン後にコピー

数値がどの整数の平方でもない場合、その数値は非平方と呼ばれます。たとえば、最初の 15 個の非平方数は -

2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19
ログイン後にコピー

N 番目の非平方数を見つけるにはどうすればよいですか?

これは、N 番目の非正方形の数を見つける例です -

Input : 2
Output : 3
Explanation : 2nd Non square number is 3 (after 2 which is first non square number)

Input : 5
Output : 7
Explanation : 7th Non square number is 7 ( after 2,3,5,6 which are first four non square
ログイン後にコピー

上の例を見た後、解決策を思いつくことができます: N 番目の非正方形の数を見つけるにはn 番目の数値から数え始めて、各整数が完全な平方であるかどうかを確認し、数えません

N 番目の非正方形の数値を見つける C プログラムを作成します

私たちは作成しましたC で N 番目の非平方数を見つけるための完全な構文。

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n; // Taking input from the user.
    int i = 2; // as 0 and 1 are squares of themselves so we start calculating from 2.
    int cnt = 0; // declaring counter variable;
    while(cnt != n){// the loop will terminate when out counter will have the same value as n.
        int a = sqrt(i);
        if(i != a*a)
            cnt++;
        if(cnt != n)
            i++;
    }
    cout << i << "\n"; // printing the nth non square number.
}
ログイン後にコピー

出力

5
ログイン後にコピー

(入力として 3 を指定すると、出力として 5 が得られます)

上記のコードを実行してみましょう 簡単な説明。

ステップ 1 - ユーザー入力を取得し、カウントを 0 に設定します。

cin >> n; // Taking input from the user.
int i = 2; // as 0 and 1 are squares of themselves so we start calculating from 2.
int cnt = 0; // declaring counter variable;
ログイン後にコピー

ステップ 2 - 非平方数を数え、平方数をスキップします。

while(cnt != n) // the loop will terminate when out counter will have the same value as n.{
   int a = sqrt(i); // finding square root using sqrt() function.
   if(i != a*a) // check whether the number is a perfect square or not.
      cnt++; // incrementing counter if found non perfect number.
      if(cnt != n)
   i++;
}
ログイン後にコピー

ステップ 3 - N 番目の平方数を出力します。

cout << i << "\n"; // printing the nth non square number.
ログイン後にコピー

結論

この記事では、非平方数と、C で N 番目の非平方数を見つける方法について説明しました。 C 以外に、このプログラムは Java、Python、C、その他の言語などのさまざまなプログラミング言語でも使用できます。可能な限り簡単な方法ですべてを説明したので、この記事が役に立ち、有益であることを願っています。

以上がC++ を使用して N 番目の非平方数を見つけるコードを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート