반응형
사용자에게 입력 받은 정수의 약수의 합을 출력하는 프로그램을 작성해보자.
while문 ver.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void) {
int hap = 0;
int a;
int n;
printf("정수 입력 : ");
scanf("%d", &n);
a = 1;
while (a <= n) {
if (!(n % a))
hap += a;
a++;
}
printf("약수의 합 : %d\n", hap);
return 0;
}
▶ 사용자가 입력할 정수는 변수 n, 반복문을 수행할 변수 a, 약수의 합을 구할 변수 hap 지정
▶ 1부터 사용자가 입력한 수까지 값을 하나씩 늘려가며 반복문을 수행
→ 사용자가 입력한 값이 a로 나누어 떨어지면 hap 변수에 a값을 더해줌
★ 다른 표현 ★
a=1;
while(a<=n){
a++;
if (n % a) continue;
hap += a;
}
▶ 반복문을 1부터 사용자가 입력한 수까지 값을 하나씩 늘려가도록 수행
→ 사용자가 입력한 값이 a로 나누어 떨어지지 않으면 continue로 다음 명령을 수행하지 않음
→ 사용자가 입력한 값이 a로 나누어 떨어지면 hap 변수에 a값을 더해줌
for문 ver.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void) {
int hap = 0;
int a;
int n;
printf("정수 입력 : ");
scanf("%d", &n);
for (a = 1; a <= n; a++) {
if (!(n % a))
hap += a;
}
printf("약수의 합 : %d\n", hap);
return 0;
}
do문 ver.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void) {
int a;
int n;
int hap = 0;
printf("정수 입력 : ");
scanf("%d", &n);
a = 1;
do {
if (!(n % a))
hap += a;
a++;
} while (a <= n);
printf("약수의 합 : %d\n", hap);
return 0;
}
반응형
'Language > C' 카테고리의 다른 글
[ C ] [ 반복문 연습 문제 ] 동일 정수 입력 종료 프로그램 (0) | 2021.10.14 |
---|---|
[ C ] [ 반복문 연습 문제 ] 정수 합 출력 프로그램 (0) | 2021.10.13 |
[ C ] [ 반복문 연습 문제 ] 정수 개수 출력 프로그램 (0) | 2021.10.13 |
[ C ] [ 반복문 연습 문제 ] 배수 출력 프로그램 (0) | 2021.10.13 |
[ C ] [ 반복문 연습 문제 ] 약수 개수 출력 프로그램 (0) | 2021.10.13 |