백준 알고리즘 / 1. 입출력과 사칙연산

dudgus5766·2021년 7월 8일
1

알고리즘

목록 보기
2/15
post-thumbnail

10869번

문제 : https://www.acmicpc.net/problem/10869

풀이

/*
문제 : 두 자연수 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()은 올림

10430번

문제 : https://www.acmicpc.net/problem/10430

풀이

/*
문제 : (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);
profile
RN App Developer

0개의 댓글