~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;
}
~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;
}