본문 바로가기
C

220714(CH10)

by 덤더리덤떰 2022. 7. 14.

<ch10, 248p>


1.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
 int num;
 printf("숫자를 입력하세요:");
 scanf("%d", &num);
 printf("%x", num);
 
return 0;
}

2.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void Show();

int main() {
	int a, b;
	printf("두 개의 숫자를 입력하시오:");
	scanf("%d%d", &a, &b);
	if (a > b) {
		Show(b, a);
	}
	else {
		Show(a, b);
	}
		
	return 0;
}

void Show(int num1,int num2) {
	int i;
	int j;

	for (i = num1; i <= num2; i++) {

		for (j = 1; j <= 9; j++) {
			printf("%dx%d=%d\n", j, i, i * j);
		}
		j = 1;
		
	}

}


3.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void FindGCD();


int main() {
	int num1, num2;
	printf("숫자를 입력하세요:");
	scanf("%d%d", &num1, &num2);
	if (num1 > num2) {
		FindGCD(num2, num1);
	}
	else {
		FindGCD(num1, num2);
	}
	return 0;
}

void FindGCD(int a, int b) {
	int gcd=-1234;
	int i;
	for (i = 1; i <= a; i++) {
		if (a % i == 0 && b % i == 0) {
			if (i > gcd) {
				gcd = i;
			}
		}
		
	}
	printf("%d와 %d의 최대공약수는 %d이다.",a,b, gcd);
}

##gcd를 아예 엄청 작은 수로 놓고 i를 업뎃시키는 형식

4.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int bread = 500;
int snack = 700;
int coke = 400;
int money = 3500;

int main() {
	int i, j, k;
	for (i = 1; i < money / bread; i++) {
		for (j = 1; j < money / snack; j++) {
			for (k = 1; k < money / coke; k++) {
				if (i * 500 + j * 700 + k * 400 == 3500) {
					printf("크림빵: % d개, 새우깡:%d개, 콜라:%d개\n", i, j, k);
				}
			}
		}
	}
		
	return 0;
}


5.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int PrintPrimeNumber();

int main() {
	int num = 1;
	int prime;
	int total = 0;
	while (total != 10){
		if (PrintPrimeNumber(num) == 1) {
			prime = num;
			printf("%d ", prime);
			total++;
		}
		num++;
	}

	return 0;
}

int PrintPrimeNumber(int num) {
	int i;
	int sum=0;
	for (i = 1; i <= num; i++) {
		if (num % i == 0) {
			sum++;
		}
	}
	if (sum == 2) {
		return 1;
	}
	else {
		return 0;
	}
}

6.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>



int main() {
	int num;
	int hour = 0;
	int min = 0;
	int sec = 0;
	printf("초를 입력하세요:");
	scanf("%d", &num);

	hour = num / 3600;
	min = (num%3600)/60;
	sec = (num%3600)%60;
	
	printf("h:%d, m:%d, s:%d", hour, min, sec);

	
	return 0;
}

7.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int Power();

int main() {
	int num;
	int k=1;

	printf("상수 n 입력:");
	scanf("%d", &num);
	
	while (Power(k) < num) {
		k++;
	}

	printf("공식을 만족하는 k의 최댓값은 %d", k);
	return 0;
}

int Power(int k) {
	if (k == 1) {
		return 2;
	}
	else {
		return 2 * Power(k - 1);
	}
}

8.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int Factorial();

int main() {
	int num;
	printf("숫자를 입력하시오:");
	scanf("%d", &num);
	printf("%d", Factorial(num));
	
	return 0;
}

int Factorial(int num) {
	if (num == 1) {
		return 2;
	}
	else {
		return 2 * Factorial(num - 1);
	}
}


내일은 반드시 오늘보다 더 성장한다.

'C' 카테고리의 다른 글

220809(CH25)  (0) 2022.08.09
220802(CH23)  (0) 2022.08.02
220728(CH21)  (0) 2022.07.28
220726(CH13,18)  (0) 2022.07.26
220721(CH16)  (0) 2022.07.26