|
안녕하세요~
밑에... 이게 문제인데요.
==================================문제=================================
제곱승 구하기
치환문과 곱셈 연산만을 포함하는 프로그램 언어를 가상해 보자. a와 n이라는
정수가 주어졌을 때 곱셈횟수를 최소로 하여 b = a^n을 계산해내는 프로그램을
작성하라. n = 13일때의 예가 아래에 있다. { } 안에는 program 각 문장에 대
한 설명이 들어 있다.
x1 := a; { = a }
x2 := x1 * x1 { = a^2 }
x3 := x2 * x2 { = a^4}
x4 := x3 * x1 { = a^5 }
x5 := x3 * x3 { = a^8 }
x6 := x5 * x4 { = a^13 }
b := x6 { = a^13}
===================================끝==================================
b = a ^ n 에서 . . ^ <- 이게 제곱이란 뜻인가요?
곱셈횟수를 최소로 하여 . . . 이것도 무슨 뜻인지 잘 모르겠구 . . .
저는 아무튼 대충 만들어 봤는데요 . . 루프를 이용해서 . .
#include <stdio.h>
#include <conio.h>
void main(void) {
int i, answer = 0;
int num , jisu = 0;
printf("This program is calculation aⁿ. . ^ - ^\n"); //아무튼 a의 n승을 계산하는... 프로그램 ;;
printf("Input num(a) :");
scanf("%d", &num);
printf("Input jisu(jisu) :");
scanf("%d", &jisu);
answer = num;
for(i = 0;i < jisu - 1;i++) {
answer *= num;
}
printf("%d", answer);
getch();
}
이게 제대로 푼건지 .. 모르겠어요.
문제점이 있으면 지적좀 해주시면... 감사하겠구요.
다른 방법이 있다면 . . 다른 방법으로 푸신 분 계시면
어떤 형식으로 풀었는지 글로 설명해 주시거나 소스코드 올려 주셔두 감사하구요 ^ - ^
|