소감

나름대로 연필로 끄적거리다가, 끙끙앓기도 했지만, 곧 풀었어요! (올바른 알고리즘&답 인지는 모르겠지만 ^^;)
아마 제 맘대로 알고리즘 만든거라 이상하 거나 효율적이지 않은 코드가 많을 듯 합니다.
조건 부탁드립니다.

아. sample input에서 마지막 input 수가 안되네요.
double 변수의 한계라고 생각되는데요. 더 큰 변수형는 없나요?
long double도 sizeof(long double)하니까 크기가 double과 같게 나오네요.

----
범위지정과 PowerOfCryptography/Hint를보고 ver 3을 만들기로 했다..

소스

ver.1 int 버젼

~cpp 
#include <stdio.h>

// k의 n승은 p
// n과 p를 입력받아 k를 출력한다.
int k_operation(int n, int p, int k);
int square_k(int k, int n);
void main()
{
	int n, p, result, k = 1;
	scanf("%d", &n);
	fflush(stdin);
	scanf("%d", &p);
	result = k_operation(n, p, k);
	printf("k = %dn", result);
}

int k_operation(int n, int p, int k)
{
	if(square_k(k, n) == p){
		return k;
	}else{
		k += 1;
		k_operation(n, p, k);
	}	
}
int square_k(int k, int n)
{
	int temp;
	temp = k;
	while(n > 1){
		k *= temp;
		n -= 1;
	}
	return k;
}

ver2. double버젼

~cpp 
#include <stdio.h>

// k의 n승은 p
// n과 p를 입력받아 k를 출력한다.
double k_operation(double n, double p, double k);
double square_k(double k, double n);
double temp;

void main()
{
	double n, p, result, k = 1;
	scanf("%lf", &n);
	fflush(stdin);
	scanf("%lf", &p);
	result = k_operation(n, p, k);
	printf("k = %.fn", result);
}

double k_operation(double n, double p, double k)
{
	if(square_k(k, n) == p){
		return k;
	}else{
		k += 1;
		temp = k;
		return k_operation(n, p, k);
	}	
}

double square_k(double k, double n)
{
	while(n > 1){
		k *= temp;
		n -= 1;
	}
	return k;
}

ver.4

나한테 할 말

난 이 문제 보는 순간 sqrt함수 바로 쓰려고 했는데 -_-; 어쨌든 아영아 C++의 오버로딩으로 두개를 합쳐보는건 어떨까? - 이영호
sqrt함수.처음들어보는 ㅜㅡ 하핫,, C++언어 아직 몰라요 ^^;;;; 가르쳐 주세요! --아영
제곱근 구하는 함수였군요 ! 연산자가 없어서 당황했었는데,,있었구나.ㅡ
대단해 공부열심히 하는구나 난그런함수 모르는대_
역시 책이 이서야대_ㅠㅠ -영록
음.. 잘짯네. 근데 temp라는 전역변수 없어도 되는거 아니냐?ㅎ 아웅 복잡해~>ㅁ<;; 그리궁..재귀호출인듯..ㅎ 꼭 재귀호출 안써도 될것 같은데 말야. 잘못하면 스택오버플로우의 압박이..;;ㅁ;; 아닌가?ㅎ~~>ㅃ<;;;; ㅎㅎ 그럼 조은하루~!^^* - 조현태
temp도 나중에 넣은거야. temp 넣지 않고 k 값을 바로 받아버리면 값이 달라져서 그렇게 했어 ^^
재귀호출은.. 생각난 대로 한건데, 스택오버플로우 되냐? ㅡㅜ -- 아영
----
LittleAOI PowerOfCryptography
Retrieved from http://wiki.zeropage.org/wiki.php/PowerOfCryptography/허아영
last modified 2021-02-07 05:24:01