입력하는 범위 사이 n의 배수의 합
C언어에서 n의 배수를 구하는 방법을 이용해 사용자로부터 범위를 입력받아 그 범위 사이 n의 배수의 합을 출력하는 프로그램을 작성합니다.
n의 배수 판별
어떤 수가 n의 배수인지 알려면 어떤 수를 n으로 나누었을 때 나머지가 0이 나오면 됩니다. 다른 말로 하면, 모듈러 연산을 했을 때 0이 나오면 됩니다.
이를테면 5는 3의 배수일까요? 5%3을 하면 2라는 나머지가 남게 됩니다. 그러므로 5는 3의 배수가 아닙니다.
그럼 6은 3의 배수일까요? 6%3을 하면 나머지는 0이 됩니다. 그러므로 6은 3의 배수입니다.
이 특징을 이용해서 특정 범위 내의 모든 n의 배수를 찾는 프로그램을 작성합니다. 범위와 n은 사용자로부터 입력받습니다.
n의 배수 출력 프로그램 코드
#include <stdio.h>
int multiple(int b, int e, int n){
int sum = 0;
int i;
for(i=b;i<=e;i++)
if(i%n==0){
printf("sum %d\n", i);
sum += i;
}
return sum;
}
int main(void){
int b, e, n;
printf("범위를 입력해주세요. ");
scanf("%d%d", &b, &e);
printf("배수를 찾을 n을 입력해 주세요 : ");
scanf("%d", &n);
printf("sum == %d\n", multiple(b,e, n));
return 0;
}
간단 설명:
6, 7번째 줄, 입력된 첫 번째 숫자 6부터 마지막 숫자 e까지 1씩 증가하며 n과 비교, 만약 현재 i%n의 결과가 0이면 해당 i를 sum에 더함
출력 결과
'컴퓨터 > C, C++' 카테고리의 다른 글
[C언어] 아스키코드 활용 알파벳 판별 및 대소문자 판별 프로그램 (0) | 2021.12.07 |
---|---|
[C언어] 입력값으로 시, 분, 초 구하기 (0) | 2021.12.07 |
[C언어] 구조체 변수 값 바꾸기, 두 구조체 변수 값 변경(swap 함수) (0) | 2021.11.23 |
[C언어] 메인 함수 밖에서 두 변수 값 변경하기(swap함수 이용) (0) | 2021.11.21 |
[C언어] (for문과 재귀함수 이용) 피보나치 수열 구하기 (0) | 2021.11.01 |
댓글