>  기사  >  백엔드 개발  >  C++로 구현된 반복된 덧셈으로 형성된 숫자의 자릿수 합계를 재귀적으로 합산합니다.

C++로 구현된 반복된 덧셈으로 형성된 숫자의 자릿수 합계를 재귀적으로 합산합니다.

王林
王林앞으로
2023-09-02 14:01:06765검색

C++로 구현된 반복된 덧셈으로 형성된 숫자의 자릿수 합계를 재귀적으로 합산합니다.

두 개의 정수 "number"와 "repeat"를 입력으로 제공했습니다. 목표는 합이 단일 숫자가 될 때까지 "반복" 횟수를 반복한 입력 숫자의 수치 합을 계산하는 것입니다. 얻은 숫자의 합이 한 자리가 될 때까지 이런 식으로 계속하십시오. 입력 숫자가 123이고 반복=2인 경우 123123의 합은 다음과 같습니다. 1+2+3+1+2+3=12 이것은 한 자리 숫자가 아닙니다. 이제 12의 숫자의 합은 1+2=3이 됩니다. 출력은 3

이에 대한 다양한 입력 및 출력 시나리오를 살펴보겠습니다.

Input− number=32 Repeat=3

Output− 반복 추가로 형성된 숫자의 재귀적 숫자 합계는 6입니다.

설명: − 323232의 합은 3+2+3+ 2+3+2=15이고, 15의 숫자의 합은 1+5=6입니다. 6은 한 자리 숫자이므로 6이 출력됩니다.

Input− number=81 Repeat=4

Output−반복적으로 추가하여 형성된 숫자의 재귀적 합은 다음과 같습니다. 9

Explanation - 81818181의 숫자의 합은 1+8+1입니다. +8+1 +8+1+ 8=36, 36의 숫자의 합은 3+6=9입니다. 9는 한 자리 숫자이므로 9가 출력됩니다.

아래 프로그램에서 사용하는 방법은 다음과 같습니다

  • number, Repeat 등 두 개의 정수형 변수를 선언합니다. 데이터를 Recursive_Sum(number, Repeat)으로 함수에 전달합니다.

  • 함수 내부에서 Recursive_Sum(int number, int Repeat)

    • 정수 변수를 total로 선언하고repeat * sum(number)로 설정합니다.

    • 함수 호출을 sum( total) .

  • 함수 내부에서 sum(int number)

    • 로 IF 숫자가 0인지 확인하고 0을 반환합니다.

    • IF 번호 %9가 0인지 확인하고 9를 반환합니다.

    • ELSE, 반환 번호 % 9

  • 결과를 인쇄하세요.

#include <bits/stdc++.h>
using namespace std;
int sum(int number){
   if(number == 0){
      return 0;
   }
   if(number % 9 == 0){
      return 9;
   }
   else{
      return number % 9;
   }
}
int Recursive_Sum(int number, int repeat){
   int total = repeat * sum(number);
   return sum(total);
}
int main(){
   int number = 12;
   int repeat = 4;
   cout<<"Recursive sum of digits of a number formed by repeated appends is: "<<Recursive_Sum(number, repeat);
   return 0;
}

Output

위 코드를 실행하면 다음과 같은 출력이 생성됩니다

Recursive sum of digits of a number formed by repeated appends is: 3

위 내용은 C++로 구현된 반복된 덧셈으로 형성된 숫자의 자릿수 합계를 재귀적으로 합산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제