코딩 -/백준 알고리즘 해설
백준 알고리즘 단계별 문제풀이 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입력에 대한 각각의 나머지연산을 출력해보았습니다.
모든 문제를 풀 때까지 같이 달려봅시다.
반응형