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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-08-30 22:41:19
ke hadapan
1451 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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.
}
Salin selepas log masuk

Output

5
Salin selepas log masuk

(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;
Salin selepas log masuk

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++;
}
Salin selepas log masuk

Langkah 3 - Cetak nombor petak ke-N.

cout << i << "\n"; // printing the nth non square number.
Salin selepas log masuk

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 Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan