수학에서 등차수열의 n번째 항 an을 구하는 공식은 a + (n - 1)d 이다. 

여기서 a는 등차 수열의 첫 번째 항을 의미하고 ,d는 공차를 의미한다. 위 문제의 설명에서는 시작값과 등차이다.

따라서 수를 입력받고 입력받은수를 등차수열 공식에 넣어 계산한 값을 출력하면 된다.

정답은 다음 코드와 같다.

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main()
{
    int a,d,n,an;    // 입력받을 변수
    scanf("%d %d %d"&a, &d, &n);    // 입력
 
    an = a + (n-1)*d;    // 등차수열 n번째 항을 구하는 공식
    printf("%d", an);    // n번째 항 
    return 0;
}
cs

 

 

for 반복문으로 1부터 입력한 정수까지 반복시키고, 반복문 안에서 if문으로 i가 3의 배수일 때는 출력하지 않고 반복문 처음으로 돌아간다. 

3의 배수는 3으로 나눴을 때 나머지가 0이므로 나머지 연산자 %를 사용한다.

정답은 다음 코드와 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main()
{
    int n;    // 입력 받을 변수
    scanf("%d"&n);    // 입력
    for(int i = 1; i <= n; i++)    // 1부터 입력값보다 작거나 같을 때 까지 반복
    {
        if(i % 3 == 0)            // i를 3으로 나눴을 때 나머지가 0이면(3의 배수)
            continue;            // 아래 코드는 실행하지 않고 반복문 처음으로 돌아감
        printf("%d ", i);        // 출력
    }
    return 0;
}
cs

 

h, b, c, s를 각 각 입력받고, 문제 설명에 나온 공식대로 입력값을 모두 곱하면 소리 파일의 저장 용량을 계산할 수 있다.

그러나 계산한 값은 비트 단위이기 때문에 출력 예시처럼 MB 단위로 바꿔야 한다. 

문제 설명의 단위들을 보면 비트를 1024로 두번 나누고, 8로 한번 나누면 MB단위로 만들 수 있다. 

이때 자료형은 int 자료형과 float 자료형을 사용하면 계산 과정에서 자료형의 범위를 초과할 수 있기 때문에 정수는 long long 자료형과 실수는 double 자료형을 사용하였다. long long 자료형은 서식문자로 %lld를 사용하고, double 자료형은 서식문자로 %lf를 사용한다.

또한 소숫점 한자리만 출력해야 하기 때문에 %.1lf로 서식문자를 사용한다.

정답은 다음 코드와 같다.

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{
    long long int h, b, c, s;    // 입력받을 변수
    double result;                // 계산결과를 저장할 변수
    scanf("%lld %lld %lld %lld"&h, &b, &s, &c);    // 입력
    
    result = h * b * s * c;        // 계산한 결과 (bit 단위)
    printf("%.1lf MB", result/(8*1024*1024));    // 계산 결과를 MB단위로 바꾸어 출력
    return 0;
}
cs

 

+ Recent posts