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