본문 바로가기

C언어63

최대 공약수 구하기 (순환 호출) #define _CRT_SECURE_NO_WARNINGS#include int x, y;int gcd(int x, int y);int main(){ printf("최대 공약수를 구하려고 하는 두 수를 입력하시오: (큰수 작은수)\n"); scanf("%d %d",&x,&y); printf("%d", gcd(x, y));}int gcd(int x, int y){ if (y == 0) { return x; } else return gcd(y, x % y);}  최대공약수를 구하는 방법중 하나인 유클리드의 호제법이 역사상 첫 번쨰 알고리즘이라고한다나... 2024. 2. 21.
2진수 변환기 (순환 함수) //2진수 형식으로 출력 #define _CRT_SECURE_NO_WARNINGS #include void print_binary(int x); int main() { int n; printf("2진수 형태로 변환하려는 수를 입력하시오: "); scanf("%d", &n); print_binary(n); printf("\n"); return 0; } void print_binary(int x) { if (x > 0) { print_binary(x / 2); printf("%d", x % 2); } } 2024. 2. 21.
은행 계좌 구현하기(입력값 반응Ver) #define _CRT_SECURE_NO_WARNINGS#include void save(int amount);int amount;int main(){ printf("========================\n"); printf("입금 \t출금 \t잔고\n"); printf("========================\n"); printf("금액을 입력하시오: "); for (int i = 0; i = 0) { printf("%d \t \t", amount); } else printf("\t%d \t", amount); balance += amount; printf("%d \n", balance);} 2024. 2. 20.
두 개의 정수 n, m을 입력 받아서 n이 m의 배수이면 1을 반환하고 그렇지 않으면 0을 반환하는 함수 is_multiple(int n, int m)를 작성하고 테스트하여 보자 #define _CRT_SECURE_NO_WARNINGS#include int is_multiple(int n, int m) { if (n % m == 0) return 1; else return 0;}int main(){ int n, m; printf("첫 번째 정수를 입력하시오: "); scanf("%d", &n); printf("두 번째 정수를 입력하시오: "); scanf("%d", &m); if (is_multiple(n, m) == 1) printf("%d는 %d의 배수입니다.", n, m); else printf("%d는 %d의 배수가 아닙니다.",n, m); return 0;} 2024. 2. 16.
숫자 뒤집기 (4자리수까지가능) #define _CRT_SECURE_NO_WARNINGS#include int main(void){ int a, b, c, d, n; printf("정수를 입력하시오: "); scanf("%d", &n); if (n = 10 && n = 100 && n = 1000 && n 2024. 2. 15.
피보나치 수열 (반복구조), (순환구조) #define _CRT_SECURE_NO_WARNINGS#include int main(void){ int n; int a, b, c; a = 0; b = 1; c = 1; printf("몇번째 항까지 구할까요?: "); scanf("%d", &n); for (int i = 0; i 반복구조 int fib(int n){ if(n==0) return 0; if(n==1) return 1; return (fib(n-1)+fib(n-2));}순환구조반복구조가 더 시간복잡도 측면에서 효율적이다.순환구조는 O(2^n)인 반면 반복구조는 O(n)이다. 2024. 2. 15.