내 프로그램은 현재 양의 정수를 소수 오름차순으로 출력합니다. 숫자를 내림차순으로 출력하도록 함수를 설정하는 방법을 알아 내려고 노력 중입니다.재귀를 사용한 프라임 인수
예를 들어, showFactors (100)는 현재 "2 2 5 5"를 출력합니다.
대신 "5 5 2 2"를 출력하고 싶습니다. cout을 호출이 어디로 간단하게 정리하여 쉽게 수정이 있어야처럼
10 // Void function "showFactors" that takes in an int "number" and another int "factor", which is initialized to 2
11 void showFactors(int number, int factor = 2)
12 {
13
14 if (number<2) //returns nothing if number<2
15 {
16 return;
17 }
18 if (number%factor==0) //modulus function is used to get prime factorization
19 {
20 cout<<factor<<" ";
21 showFactors(number/factor, factor); //recursive call
22 }
23 else //if (number%factor != 0) //this modulus function is used in order to output factor !=2
24 {
25 showFactors(number, factor+1);
26 }
27 }
는 느낌,하지만 난 지금까지 운이 없었어요.
편집
: 네 그것은 단지 라인 (21) 이후에 가지 말았어야 라인 (20) 및 (21)
@prp을 전환하는 것만 큼 간단했다? – vu1p3n0x