/*
문제 : 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
입력 : 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)
출력 : 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.
*/
//답안
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');
//node.js로 변환
const num1 = Number(input[0]);
const num2 = Number(input[1]);
//Number 타입으로 변환
console.log(num1 + num2);
console.log(num1 - num2);
console.log(num1 * num2);
console.log(Math.floor(num1 / num2)); //math,floor() : 소수점 이하를 버림한다.
console.log(num1 % num2);
math.floor()
와 parselnt()
의 차이는 뭘까?
두 메소드는 정수를 반환하지만
1. 주어진 숫자가 양수일 때 : 둘 다 내림
2. 주어진 숫자가 음수일 때 :math.floor()
는 소수 첫 째자리에서 내림 /parselnt()
은 올림
/*
문제 : (A+B)%C는 ((A%C) + (B%C))%C 와 같을까?
(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.
입력 : 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
출력 : 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
*/
//답안
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');
const num1 = Number(input[0]);
const num2 = Number(input[1]);
const num3 = Number(input[2]);
console.log((num1 + num2) % num3);
console.log(((num1 % num3) + (num2 % num3)) % num3);
console.log((num1 * num2) % num3);
console.log(((num1 % num3) * (num2 % num3)) % num3);