我們都知道不是任何數字的平方的數字,如 2、3、5、7、8 等。非平方數有 N 個,不可能知道每個數字。因此,在本文中,我們將解釋有關無平方數或非平方數的所有內容,以及在 C 中尋找第 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 個非平方數的範例-
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 個非平方數的完整語法。
#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中文網其他相關文章!