> 백엔드 개발 > C++ > 본문

C++를 사용하여 N번째 제곱수가 아닌 숫자를 찾는 코드를 작성하세요.

WBOY
풀어 주다: 2023-08-30 22:41:19
앞으로
1147명이 탐색했습니다.

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번째 숫자를 찾고, 각 정수가 완전제곱수이고 계산되지 않는지 확인하세요.

N번째 제곱수가 아닌 숫자를 찾는 C++ 프로그램을 만들어보세요.

C++에서 N번째 제곱수가 아닌 숫자를 찾는 완전한 구문을 만들었습니다.

Example

#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
로그인 후 복사

(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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!