n1
, n2
및 이 n1
보다 큰지 확인하는 C++ 프로그램을 개발하는 방법을 궁금합니다. 그런 다음 프로그램은 n1
과 n2
사이의 모든 완벽한 숫자를 결정합니다. 정수 (숫자 자체는 아님)를 포함하여 그 요인의 합이 숫자 자체와 같은 경우 정수를 완벽한 숫자라고합니다. 예를 들어, 6 = 1 + 2 + 3
이기 때문에 6은 완벽한 숫자입니다. 지금까지 여기 완벽한 숫자 프로그램에서 논리적 오류
#include <iostream>
using namespace std;
int main(){
int number, sum = 0, divi = 1, n1, n2;
cout<<" Please enter n1: ";
cin>>n1;
cout<<" Please enter n2: ";
cin>>n2;
number = n1;
while(number <= n2){
while(divi <=n2){
if (number%divi ==0)
sum+=divi;
divi++;
}
if(sum == number)
cout<<number<<endl;
number++;
}
return 0;
}
는 난 단지 루프 동안 사용할 수 있습니다. 논리적 오류를 발견 할 수 있습니까?
합계와 디비 각 번호 앞에 다시 초기화해야합니다. – user448810