Rumah >pembangunan bahagian belakang >C++ >Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth

Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth

WBOY
WBOYke hadapan
2023-08-30 22:41:191332semak imbas

Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth

Kita semua tahu nombor yang bukan kuasa dua mana-mana nombor, seperti 2, 3, 5, 7, 8, dll. Terdapat N nombor bukan kuasa dua dan adalah mustahil untuk mengetahui setiap nombor. Jadi, dalam artikel ini, kami akan menerangkan segala-galanya tentang nombor tanpa kuasa dua atau bukan kuasa dua dan cara untuk mencari nombor bukan kuasa dua N dalam C++.

Nombor bukan kuasa dua ke N

Jika nombor ialah kuasa dua integer, ia dipanggil kuasa dua sempurna. Beberapa contoh nombor kuasa dua sempurna ialah -

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

Jika nombor bukan kuasa dua mana-mana integer, maka nombor itu dipanggil bukan kuasa dua. Contohnya, 15 nombor bukan kuasa dua yang pertama ialah -

2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19

Bagaimana untuk mencari nombor bukan kuasa dua N?

Berikut adalah contoh mencari nombor bukan persegi 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

Selepas melihat contoh di atas, kita boleh mencari penyelesaian: Untuk mencari nombor bukan kuasa dua, kita perlu mula mengira dari nombor ke-n, Dan semak sama ada setiap integer ialah segi empat sama sempurna dan tidak dikira

Cipta atur cara C++ untuk mencari nombor bukan kuasa dua N

Kami telah mencipta sintaks yang lengkap untuk mencari nombor bukan segi empat ke-N dalam C++.

Contoh

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

Output

5

(Apabila kita menyediakan 3 sebagai input, kita mendapat 5 sebagai output)

Mari kita berikan penjelasan ringkas tentang kod di atas.

Langkah 1 - Dapatkan input pengguna dan tetapkan kiraan kepada 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;

Langkah 2 - Kira nombor bukan kuasa dua dan langkau nombor kuasa dua.

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++;
}

Langkah 3 - Cetak nombor petak ke-N.

cout << i << "\n"; // printing the nth non square number.

Kesimpulan

Dalam artikel ini, kami menerangkan nombor bukan kuasa dua dan cara untuk mencari nombor bukan kuasa dua N dalam C++. Selain daripada C++, kami juga boleh menggunakan program ini dalam bahasa pengaturcaraan yang berbeza seperti Java, Python, C atau mana-mana bahasa lain. Kami berharap artikel ini berguna dan bermaklumat untuk anda kerana kami telah menerangkan segala-galanya dengan cara yang paling mudah.

Atas ialah kandungan terperinci Gunakan C++ untuk menulis kod untuk mencari nombor bukan persegi Nth. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam