Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm Nth_Non_Square_Number bằng C ++

Tất cả chúng ta đều biết về các số không bình phương của bất kỳ số nào như 2, 3, 5, 7, 8, vv Có số thứ N là các số không bình phương, và không thể biết tất cả các số. Vì vậy, trong bài viết này, chúng tôi sẽ giải thích mọi thứ về số không bình phương hoặc số không bình phương và các cách để tìm số không bình phương thứ N trong C ++ là gì.

Số không phải thứ N

Một số được cho là một hình vuông hoàn hảo nếu nó là một hình vuông của một số nguyên. Một số ví dụ về số bình phương hoàn hảo là -

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

Một số được cho là số không bình phương nếu nó không phải là bình phương của bất kỳ số nguyên nào. Ví dụ:15 số không vuông đầu tiên là -

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

Làm cách nào để tìm số không bình phương thứ N?

Vì vậy, đây là ví dụ để tìm số không bình phương thứ 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

Sau khi xem xét ví dụ trên, chúng ta có thể đưa ra giải pháp là Để tìm số không vuông thứ N, chúng ta cần bắt đầu đếm số thứ n và kiểm tra từng số nguyên xem nó có phải là hình vuông hoàn hảo hay không và không đếm số nào là một hình vuông hoàn hảo, tức là đếm nếu số đó là một hình vuông hoàn hảo.

Tạo chương trình C + + để tìm số không vuông thứ N

Chúng tôi đã tạo một cú pháp hoàn chỉnh để tìm số không vuông thứ N trong C ++.

Ví dụ

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

Đầu ra

5

(Khi chúng tôi cung cấp 3 làm đầu vào, thì chúng tôi nhận 5 làm đầu ra)

Hãy để chúng tôi giải thích ngắn gọn về các mã trên.

Bước 1 - Lấy đầu vào từ người dùng và cài đặt số đếm thành 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;

Bước 2 - Đếm số không vuông và bỏ qua số bình phương.

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

Bước 3 - In số ô vuông thứ N.

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

Kết luận

Trong bài viết này, chúng tôi đã giải thích về một số không vuông và các cách tìm số không vuông thứ N trong C ++. Ngoài C ++, chúng ta có thể sử dụng chương trình này trong các ngôn ngữ lập trình khác nhau như Java, Python, C hoặc bất kỳ ngôn ngữ nào khác. Chúng tôi hy vọng bạn thấy bài viết này hữu ích và nhiều thông tin vì chúng tôi đã mô tả mọi thứ theo cách đơn giản nhất có thể.