입력으로 정수 변수 번호가 제공됩니다. 목표는 입력 숫자의 자릿수의 합을 계산하고 그 합이 소수인지 확인하는 것입니다. 자릿수의 합으로 얻은 숫자가 한 자리 숫자가 될 때까지 이것을하십시오. 그 숫자가 소수인지 아닌지 확인하십시오. 입력된 숫자가 123인 경우 자릿수의 합은 1+2+3=6이 되며 이는 소수가 아니며 6도 한 자리 숫자입니다.
이를 위한 다양한 입력 출력 시나리오를 살펴보겠습니다.
입력 - 숫자=12341
출력 − 숫자의 자릿수의 재귀 합은 PRIME입니다.
설명 -
1+2+3+4+1=11
1+1=2
2는 소수입니다.
입력 - 숫자=1664
출력 − 숫자의 자릿수의 재귀 합은 소수가 아닙니다.
설명 -
1+6+6+4=17
1+7=8
8은 소수가 아닙니다.
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.
-
정수 변수를 숫자로 선언합니다.
-
함수에 데이터를 Recursively_Prime(숫자)
로 전달합니다. -
함수 내부에서 Recursively_Prime(숫자)
-
함수 호출에 대한 번호를 sum(number)으로 설정합니다.
-
숫자가 3인지 아니면 숫자가 3인지 또는 숫자가 5인지 또는 숫자가 7인지 확인한 다음 PRIME을 인쇄하십시오.
-
그렇지 않으면 NOT PRIME을 인쇄하십시오.
-
-
함수 내부 sum(int number)
-
IF 번호가 0인지 확인한 다음 0을 반환합니다.
-
ELSE, % 9가 0이면 9를 반환합니다.
-
그렇지 않으면 숫자 % 9입니다.
-
-
결과를 인쇄하십시오.
예
#include<iostream> using namespace std; int sum(int number){ if(number == 0){ return 0; } else{ if(number % 9 == 0){ return 9; } else{ return number % 9; } } } void Recursively_Prime(int number){ number = sum(number); cout<<"Recursive sum of digits of a number is "; if(number == 2 || number == 3 || number == 5 || number == 7){ cout << "PRIME"; } else{ cout << "NOT PRIME"; } } int main(){ int number = 5555; Recursively_Prime(number); }
출력
위의 코드를 실행하면 다음과 같은 출력이 생성됩니다.
Recursive sum of digits of a number is PRIME