본문 바로가기

C언어

2025년 여름학기 8주차 C언어

#include <stdio.h>

int main(void) {
	long long f, N;
    scanf("%lld %lld", &f, &N);
    
    long long x = 0;
    
    //주기는 1->2->3->4->5->4->3->2 이렇게 되기에 8로 판단
    
    if (f==1) {
    //각 주기에 1번씩만 나오기에 그냥 이렇게 하면 된다
    x = (long long)8 *N;
    }
    
    else if (f==2) {
    
    //홀수일 때와 짝수일 때를 구분하여 계산한다
    	if (N % 2 == 0) x = (long long)4 * N + 1;
        else x = (long long)4 * N +3;
    }
    else if (f==3) {
    //4번 간격으로 나오는 등차수열의 형태이기에 짝/홀을 따로 가리지 않는다
    	x = (long long)4 *N + 2;
    }
    else if (f==4) {
    
    //검지 손가락일 때와 동일한 경우
    	if (N % 2 == 0) x = (long long)4 * N + 3;
        else x = (long long)4 * N +1;
    }
    else if (f==5) {
    
    //엄지손가락일 때와 동일한 경우
    	x = (long long)8 * N +4;
    }
    
    printf("%lld\n", x);
    return 0;
    
}

 

#include <stdio.h>

//최대공약수를 찾는 함수
int cut(int a, int b){
	//분자와 분모 크기 비교
	int min = a < b ? a : b; 
    //큰 숫자부터 1씩 줄여가며 약수가 가능한지 확인
    for (int i = min; i >= 1; i--){
    	if (a % i == 0 && b % i == 0) {
        	return i;
        }
    }
    //서로소일 경우 1을 리턴
    return 1;
}

int main(void) {
	int A, B,C, D;
    
    scanf("%d %d", &A, &B);
    scanf("%d %d", &C, &D);
    
    //통분 과정
    int up = A * D + B * C;
    int down = B * D;
    
    //기약분수로 만든다
    int x = cut(up, down);
    up /= x;
    down /= x;
    
    printf("%d %d", up, down);
    return 0;
    
  }

'C언어' 카테고리의 다른 글

2025년 2학기 1주차  (0) 2025.09.14
2025년 여름학기 9주차 C언어  (0) 2025.08.24
2025년 여름학기 7주차 C언어  (1) 2025.08.08
2025년 여름학기 6주차 C언어  (1) 2025.08.02
2025년 여름학기 5주차 C언어  (1) 2025.07.27