#n제곱 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int ipower(int x, int n) {
int r = 1;
for (int i = 1; i <= n; i++)
r = r * x;
return r;
}
int rpower(int x, int n) {
if (n == 0)
return 1;
else if (n % 2 == 0)
return rpower(x * x, n / 2);
else
return x * rpower(x * x, (n - 1) / 2);
}
int main() {
int x, n;
scanf("%d %d", &x, &n);
printf("%d-%d\n", ipower(x,n),rpower(x,n));
return 0;
}
#피보나치 수열
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int count;
int rfib(int n) {
count++;//함수가 몇번 출력되는지 알기 위해
if (n == 0)
return 0;
else if (n == 1)
return 1;
else
return rfib(n - 1) + rfib(n - 2);
}
int main() {
int n;
scanf("%d", &n);
printf("%d(%d)\n",count, rfib(n));
return 0;
}
#곱, 나머지, 몫(a가 b보다 크다고 가정)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int product(a, b) {
if (a > 0 && b > 0)
return a + product(a, b - 1);
else
return 0;
}
int quotient(a, b) {
if (a-b>=0)
return 1 + quotient(a-b,b);
else
return 0;
}
int remain(a,b) {
if (a - b >= 0)
return remain(a - b, b);
else
return a;
}
int main() {
int a, b = 0;
scanf("%d %d", &a, &b);
printf("%d %d %d\n", product(a,b),quotient(a,b),remain(a,b));
return 0;
}
#최대공약수 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int max(int x, int y){
if (y == 0)
return x;
else
return max(y, x % y);
}
int main(void){
int x, y;
printf("x,y 입력(단,x>y): ");
scanf("%d %d", &x, &y);
printf("%d와 %d의 최대공약수는 %d\n", x,y,max(x,y));
}
#팩토리얼 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
long factorial(int n)
{
if (n <= 1)
return 1;
else
return n * factorial(n - 1);
}
int main(void)
{
int n= 0;
long f;
printf("정수 입력:");
scanf("%d", &n);
printf("팩토리얼 값은: %d", factorial(n));
return 0;
}
#각 자릿수 합 구하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int rSum(int n) {
if (n > 0)
return (n % 10) + rSum(n / 10);
else
return 0;
}
int main() {
int n;
printf("n 입력:");
scanf("%d", &n);
printf("%d", rSum(n));
return 0;
}
java : 2일차 (0) | 2023.01.05 |
---|---|
java : 1일차 (0) | 2023.01.02 |
c언어:포인터 (0) | 2022.12.10 |
c언어:배열 문제 풀이 (0) | 2022.12.09 |
c언어: 배열 (0) | 2022.12.09 |
댓글 영역