2009~2014/C/C++
[C언어 기출문제&풀이] 약수의 갯수, 총합
malu
2010. 11. 2. 17:00
프로그램 명: ft
제한시간: 1 초
자연수가 입력으로 주어진다. 이 수의 약수를 출력하고 , 다음 줄에는 약수의 개수 , 다음 줄에는 약수의 총합 , 다음 줄에는 약수의 곱의 일의 자리수를 출력한다.
입력
주어지는 수는 1000 이하의 자연수이다.출력
입출력 예
입력 6 출력 1 2 3 6 4 12 6
출처:dovelet 풀이 : 풀이 생략
소스코드
01
#include <stdio.h>
02
03
int
main()
04
{
05
int
n,i,a[500],count,sum1,sum2;
06
count=sum1=0; sum2=1;
07
scanf
(
"%d"
,&n);
08
for
(i=1;i<=n;i++)
09
{
10
if
(n%i==0)
11
{
12
a[count]=i;
13
count++;
14
printf
(
"%d "
,i);
15
}
16
}
17
printf
(
"\n%d\n"
,count);
18
for
(i=0;i<count;i++)
19
{
20
sum1=sum1+a[i];
21
sum2=sum2 * a[i];
22
if
(sum2>10)
23
sum2=sum2%10;
24
}
25
printf
(
"%d\n%d"
,sum1,sum2);
26
}