首頁 >後端開發 >C++ >使用C++編寫程式碼,找到第N個非平方數

使用C++編寫程式碼,找到第N個非平方數

WBOY
WBOY轉載
2023-08-30 22:41:191295瀏覽

使用C++編寫程式碼,找到第N個非平方數

我們都知道不是任何數字的平方的數字,如 2、3、5、7、8 等。非平方數有 N 個,不可能知道每個數字。因此,在本文中,我們將解釋有關無平方數或非平方數的所有內容,以及在 C 中尋找第 N 個非平方數的方法。

第 N 個非平方數

如果一個數是整數的平方,則該數稱為完全平方數。完全平方數的一些例子是 -

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個數開始計數,並檢查每個整數是否為完全平方數,並且不計數

創建一個C 程式來查找第N 個非平方數

我們創建了一個在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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除