Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++를 사용하여 Nth_Non_Square_Number 찾기

<시간/>

우리는 모두 2, 3, 5, 7, 8 등과 같이 제곱이 아닌 숫자에 대해 알고 있습니다. 제곱이 아닌 숫자의 N번째 숫자가 있으며 모든 숫자를 아는 것은 불가능합니다. 그래서 이 글에서는 제곱이 없는 수 또는 제곱이 아닌 수에 대한 모든 것과 C++에서 N번째가 아닌 수를 찾는 방법에 대해 설명합니다.

제곱이 아닌 N번째 숫자

어떤 숫자가 정수의 제곱이면 완전제곱수라고 합니다. 완전제곱수의 몇 가지 예는 다음과 같습니다. -

1은 14의 제곱은 29의 제곱은 316의 제곱은 425의 제곱은 5의 제곱입니다.

어떤 정수의 제곱이 아닌 수는 제곱이 아닌 수라고 합니다. 예를 들어, 제곱이 아닌 처음 15개 숫자는 -

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

N번째 비제곱수를 찾는 방법은 무엇입니까?

N번째 비제곱수를 찾는 예는 다음과 같습니다. −

입력 :2출력 :3설명 :2번째 비제곱수가 3(첫 번째 비제곱수인 2 이후)입력 :5출력 :7설명 :7번째 비제곱수가 7(처음 4인 2,3,5,6 이후) 정사각형이 아닌

위의 예를 살펴본 후, 우리는 N번째 비제곱수를 찾기 위해 n번째 숫자에 대해 계산을 시작하고 각 정수가 완전제곱인지 여부를 확인하고 다음과 같은 숫자를 계산하지 않아야 한다는 솔루션을 제시할 수 있습니다. 완전제곱, 즉, 숫자가 완전제곱이면 세어 봅니다.

N번째 비제곱수를 찾는 C ++ 프로그램 만들기

우리는 C++에서 N번째 비제곱수를 찾기 위한 완전한 구문을 만들었습니다.

예시

#include 네임스페이스 std;int main(){ int n; 신>> n; // 사용자로부터 입력을 받습니다. 정수 i =2; // 0과 1은 제곱이므로 2부터 계산을 시작합니다. int cnt =0; // 카운터 변수 선언; while(cnt !=n){// out 카운터가 n과 같은 값을 가질 때 루프가 종료됩니다. 정수 a =sqrt(i); if(i !=a*a) cnt++; if(cnt !=n) i++; } cout <<나는 <<"\n"; // 정사각형이 아닌 n번째 숫자를 출력합니다.}

출력

5

(입력으로 3을 제공하면 출력으로 5를 얻습니다.)

위의 코드에 대해 간단히 설명드리겠습니다.

1단계 − 사용자의 입력을 받아 count를 0으로 설정합니다.

<전>신>> n; // user.int에서 입력 받기 i =2; // 0과 1은 제곱이므로 2부터 계산을 시작합니다.int cnt =0; // 카운터 변수 선언;

2단계 − 제곱수가 아닌 수를 세고 제곱수를 건너뜁니다.

while(cnt !=n) // out 카운터가 n과 같은 값을 가질 때 루프가 종료됩니다.{ int a =sqrt(i); // sqrt() 함수를 사용하여 제곱근을 찾습니다. if(i !=a*a) // 숫자가 완전제곱수인지 여부를 확인합니다. cnt++; // 완전하지 않은 숫자가 발견되면 카운터를 증가시킵니다. if(cnt !=n) i++;}

3단계 − N번째 제곱수를 출력합니다.

cout <<나는 <<"\n"; // 정사각형이 아닌 n번째 숫자를 출력합니다.

결론

이 글에서는 제곱이 아닌 수와 C++에서 제곱이 아닌 수를 찾는 방법에 대해 설명했습니다. C++ 외에도 Java, Python, C 또는 기타와 같은 다양한 프로그래밍 언어에서 이 프로그램을 사용할 수 있습니다. 가능한 가장 간단한 방법으로 모든 것을 설명했으므로 이 기사가 도움이 되고 유익한 정보가 되었기를 바랍니다.