완벽수를 구하는 프로그램
활력초
2023.04.01
질문 제목 : 완벽수를 구하는 프로그램입니다.
왜 결과가 맞게 나오지 않는지 알려주세요.완벽수란 어떤 한 자연수의 자신을 뺀 약수들을 모두 더하면 자연수가 나오는 수입니다.
예시) 6의 약수 : 1,2,3,6
6을 뺀 약수들의 합 = 6
질문 내용 :
#include stdio.hvoid main(){
int n;
double r;
int sum;
int tn=0;
int k;
int j; for(n=4;n500;n++){
sum=0;
k=int(n/2);
for(j=1;jk;j++){
r = n%j;
if(r==0){
sum=sum+j;
}
}
if(n==sum){
printf(%d\t,n);
tn=tn+1;
}
}
printf(\n%d,tn);
}이 프로그램을 실행하면 24와 2가 나옵니다.
원하는 결과는 4부터 500사이에 있는 완벽수를 출력하고 완벽수의 갯수를 출력하는 겁니다.
3가지 숫자가 나와야 정상입니다. 코딩에서 실수한 부분을 지적해 주세요
-
갈기슭
for(j=1;j=k;j++)로 바꿔 보세요