코딩 -/백준 알고리즘 해설

백준 알고리즘 단계별 문제풀이 1 . 입출력과 사칙연산 , 나머지

심프슨정리 2021. 6. 22. 16:48
반응형

백준 알고리즘 문제의 단계별 문제의 1번. 입출력과 사칙연산 파트입니다.

그중 10번째 문제인 A 와 B, C의 나머지연산들을 출력하는 문제입니다. 

입력으로는 2~ 10000의 자연수 세개가 주어집니다.

 

 

 

  <출처 - 백준 알고리즘 문제 - 단계별 문제풀이 10번 >

 

입력 세 개를 변수를 저장해뒀다가, 그 세 변수를 이용해 출력하면됩니다.

출력시에 괄호를 신경써서 출력하면됩니다.

 

 

 

 

C언어입니다.

 

#include<stdio.h>
int main(){
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    printf("%d\n%d\n%d\n%d",(a+b)%c,((a%c)+(b%c))%c,(a*b)%c,((a%c)*(b%c))%c);
}

 

 

C++입니다.

 

#include <iostream>

using namespace std;

int main(){
    int a, b,c;
    cin>>a>>b>>c;
    cout<<(a+b)%c<<endl<<((a%c)+(b%c))%c<<endl<<(a*b)%c<<endl<<((a%c)*(b%c))%c;
}

 

 

 

python입니다

파이썬의 경우 일반적인 입력이 줄바꿈 없이 3개가 들어옵니다 형식으로 띄어쓰기를 통해 구분된 세 개의 문자를 입력받을 경우 한 문자열로 인식합니다.

따라서 input(). split()으로 공백을 기준으로 세 개의 입력을 찢어주고 , 해당 문자를 숫자로 인식시켜 나눠야 합니다.

그래도 int 타입으로 넣었지만 나눗셈 시 몫만 따로 받아야하니 별도의int 처리 해줍시다

그리고 print시 .format()  형식을 사용하면 여러가지를 출력할 때 편리합니다.

 

a,b,c=input().split()
a = int(a)
b = int(b)
c = int(c)
print("{}\n{}\n{}\n{}".format((a+b)%c,((a%c)+(b%c))%c,(a*b)%c,((a%c)*(b%c))%c)

 

 

 

Java입니다.

 

자바의 경우 스캐너를  임포트 하여 사용하여주시면 됩니다. 

마찬가지로 출력 타입을 조절하여 출력해주면 되겠습니다.

자바도 printf 가 가능하니 이렇게 이용해주시면 됩니다.

import java.util.Scanner;

public class Test122 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a, b,c;
		a = scan.nextInt();
		b = scan.nextInt();
        c = scan.nextInt();
		System.out.printf("%d\n%d\n%d\n%d",(a+b)%c,((a%c)+(b%c))%c,(a*b)%c,((a%c)*(b%c))%c);
	}

}

 

이것으로 9번째 기본 문제인 a b c입력에 대한 각각의 나머지연산을 출력해보았습니다.

모든 문제를 풀 때까지 같이 달려봅시다.

반응형