Tag - C
41~46/46
-
2023-01-27 12:16:00 이 문제의 나누기는 몫을 출력하는 것이기 때문에 모두 정수 타입으로 계산하면 된다. Bash read a b echo $((a + b)) echo $((a - b)) echo $((a * b)) echo $((a / b)) echo $((a % b)) C #include <stdio.h> int main(void) { int a, b; scanf("%d %d", &a, &b); printf("%d\n", a + b); printf("%d\n", a - b); printf("%d\n", a * b); printf("%d\n", a / b); printf("%d\n", a % b); return 0; } Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); console.log(a+b); console.log(a-b); console.log(a*b); console.log(Math.floor(a/b)); console.log(a%b); Math.floor 대신 parseInt를 사용해도 된다. PHP <?php fscanf(STDIN, "%d %d", $a, $b); echo $a + $b."\n"; echo $a - $b."\n"; echo $a * $b."\n"; echo floor($a / $b)."\n"; echo $a % $b."\n"; ?> PHP의 echo는 자동 줄바꿈이 되지 않는다. PHP는 분자열을 이어붙일 때 +가 아닌 .을 사용한다. Python3 a, b = map(int, input().split()) print(a+b) print(a-b) print(a*b) print(a//b) print(a%b) Ruby a, b = gets.chomp.split().map {|i| i.to_i} puts a+b puts a-b puts a*b puts a/b puts a%b
-
2023-01-27 12:02:00 몫이 아닌 전체 값을 출력해야 하기 때문에 데이터 타입에 주의해야 한다. Bash read a b let a*=10**10 let r=a/b n=0 if [ ${#r} -gt 10 ]; then n=${r::1} r=${r:1} fi echo $n.$r Bash는 연산 시 소수부를 모두 버리기 때문에 오차 범위만큼 곱한 후 계산하고 점은 직접 넣어야 한다. let r=a/b 대신 ((r = a/b))를 사용할 수 있다. 2, 3번 라인을 ((a *= 10**10, r = a/b)) 이 한 줄로 줄일 수 있다. 백준에서는 먹히지 않는 awk, bc 명령어를 사용하면 소수부까지 출력할 수 있다. C #include <stdio.h> int main(void) { double a, b; scanf("%lf %lf", &a, &b); printf("%.9lf", a / b); return 0; } int, float 타입이 아닌 double을 사용해야 한다. Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); console.log(a / b); PHP <?php fscanf(STDIN, "%d %d", $a, $b); echo $a / $b; ?> Python3 a, b = map(int, input().split()) print(a/b) Python2와 달리 Python3은 정수끼리 나눠도 소수부까지 연산이 가능하다. Ruby a, b = gets.chomp.split().map {|i| i.to_f} puts a/b 정수형인 to_i가 아니라 실수형인 to_f다.
-
2023-01-27 11:57:00 간단한 곱셈 이전 문제에서 부호만 바꾸면 된다. Bash read a b echo $((a * b)) C #include <stdio.h> int main(void) { int a, b; scanf("%d %d", &a, &b); printf("%d", a*b); return 0; } Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); console.log(a * b); PHP <?php fscanf(STDIN, "%d %d", $a, $b); echo $a * $b; ?> Python3 a, b = map(int, input().split()) print(a*b) Ruby a, b = gets.chomp.split().map {|i| i.to_i} puts a*b
-
2023-01-27 11:43:00 간단한 뺄셈. 이전 문제에서 부호만 바꾸면 된다. Bash read a b echo $((a - b)) C #include <stdio.h> int main(void) { int a, b; scanf("%d %d", &a, &b); printf("%d", a-b); return 0; } Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); console.log(a - b); PHP <?php fscanf(STDIN, "%d %d", $a, $b); echo $a - $b; ?> Python3 a, b = map(int, input().split()) print(a-b) Ruby a, b = gets.chomp.split().map {|i| i.to_i} puts a-b
-
2023-01-27 10:50:00 간단한 덧셈. 입력받고 출력하는 방법만 알면 풀 수 있다. Bash read a b # expr $a + $b # echo $[a + b] echo $((a + b)) expr, awk, bc 명령어가 먹히지 않는다. 3, 4번 라인 둘 다 정답이다. C #include <stdio.h> int main(void) { int a, b; scanf("%d %d", &a, &b); printf("%d", a+b); return 0; } Node.js let [a, b] = require("fs").readFileSync(0).toString().trim().split(" ").map(Number); console.log(a + b); 입력을 받기 위해 readFileSync(0)를 사용하는데, 대신 readFileSync("/dev/stdin")를 사용해도 된다. 단, /dev/stdin 경로에 해당 파일이 없다면 에러가 난다. PHP <?php fscanf(STDIN, "%d %d", $a, $b); echo $a + $b; ?> $input = fgets(STDIN)을 사용하면 라인 전체를 입력받을 수 있다. Python3 a, b = map(int, input().split()) print(a+b) Ruby a, b = gets.chomp.split().map {|i| i.to_i} puts a+b
-
2023-01-26 21:11:00 각 언어로 출력하는 방법만 알면 풀 수 있다. Bash echo "Hello World!" C #include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; } Node.js console.log("Hello World!"); Node.js는 언어가 아니라 JavaScript 런타임 환경이다. 즉, Node.js는 JavaScript 문법으로 작성하면 된다. PHP Hello World! HTML에서 PHP를 사용하는 것처럼 <?php ... ?> 태그 외부에 있는 내용은 그대로 출력한다. Python3 print("Hello World!") Ruby puts "Hello World!"