#include <stdio.h>
void cum_add(int n, int *sum);
void cum_mul(int n, int *sum);
int main(void)
{
int n, sel, sum;
printf("정수 : ");
scanf("%d", &n);
printf("1부터 %d까지 1.합, 2.곱 : ", n);
scanf("%d", &sel);
if (n < 1) return 0; // 0이 입력되면 종료
switch(sel) {
case 1: if (n < 160000000) { // 1억 6천 이하
cum_add(n, &sum);
printf("1부터 %d까지의 합은 %d입니다.\n", n, sum);
}
else printf("너무 큰 수 입니다.\n");
break;
case 2: if (n < 20) { // 20 이하
cum_mul(n, &sum);
printf("1부터 %d까지의 곱은 %d입니다.\n", n, sum);
}
else printf("너무 큰 수 입니다.\n");
break;
}
return 0;
}
void cum_add(int n, int *sum)
{
int i;
*sum = 0;
for (i = 1; i <= n; i++) *sum += i;
}
void cum_mul(int n, int *sum)
{
int i;
*sum = 1;
for (i = 2; i <= n; i++) *sum *= i;
}