2009~2014/C/C++
[C언어 기출문제&풀이] 거듭 제곱 테이블
malu
2010. 11. 10. 20:44
프로그램 명: table(open problem)
제한시간: 1 초
2 에서 n 의 10 거듭 제곱 테이블을 만드는 것이 문제이다.
n 이 3 일 때 출력은 아래와 같다.
1 2 3 4 5 6 7 8 9 10 2 2 4 8 16 32 64 128 256 512 1024 3 3 9 27 81 243 729 2187 6561 19683 59049
출력 형식은 3^10 = 59094 즉 5 자리이므로 공백을 위한 한 자리를 추가한 6 자리로
타이틀을 출력 후,
123456123456123456123456123456123456123456123456123456123456123456
1 2 3 4 5 6 7 8 9 10
다음 줄 부터는 6 자리 확보후 오른쪽에 맞추어 모든 수를 출력한다.
123456123456123456123456123456123456123456123456123456123456123456
2 2 4 8 16 32 64 128 256 512 1024
3 3 9 27 81 243 729 2187 6561 19683 59049
입력
2 에서 9 사이의 자연수가 입력으로 주어진다.출력
출력 예의 형식으로 출력한다.n 에 따라 각 수가 확보하는 자릿수가 다르다는 것에 주의 한다.
입출력 예
입력 3 출력 1 2 3 4 5 6 7 8 9 10 2 2 4 8 16 32 64 128 256 512 1024 3 3 9 27 81 243 729 2187 6561 19683 59049
출처:dovelet
풀이 : 결정적 힌트 printf("%nd",i); n 속에 숫자를 넣으면 그 자리 안에 채워서 숫자를 출력한다.
소스코드 :
#include <stdio.h>
int main()
{
int n,i,j,sum;
scanf("%d",&n);
printf(" ");
for(i=1;i<=10;i++)
printf("%6d",i);
printf("\n");
for(i=2;i<=n;i++)
{
sum=i;
printf("%6d",i);
for(j=1;j<=10;j++)
{
printf("%6d",sum);
sum*=i;
}
printf("\n");
}
}