n = int(input())for _ in range(n): m, t = map(int, input().split()) if t == 0: print("-") # 0으로 나누면 ZeroDivisionError — 나누기 전에 먼저 묻는다 else: # Python 3의 /는 정수끼리도 소수까지 나눈다(//는 몫만) print(f"{m / t * 100:.1f}")
JavaScriptmain.js · 9 行
const [n, ...v] = require("fs").readFileSync(0, "utf8").trim().split(/\s+/).map(Number);const out = [];for (let i = 0; i < n; i++) { const m = v[2 * i]; const t = v[2 * i + 1]; // JS의 0 / 0은 오류가 아니라 NaN이다 — 나누기 전에 먼저 묻는다 out.push(t === 0 ? "-" : ((m / t) * 100).toFixed(1));}console.log(out.join("\n"));
TypeScriptmain.ts · 10 行
import { readFileSync } from "node:fs";const [n, ...v]: number[] = readFileSync(0, "utf8").trim().split(/\s+/).map(Number);const out: string[] = [];for (let i = 0; i < n; i++) { const m: number = v[2 * i]; const t: number = v[2 * i + 1]; // 0 / 0은 오류가 아니라 NaN이다 — 나누기 전에 먼저 묻는다 out.push(t === 0 ? "-" : ((m / t) * 100).toFixed(1));}console.log(out.join("\n"));
JavaMain.java · 22 行
import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); StringBuilder out = new StringBuilder(); for (int i = 0; i < n; i++) { int m = sc.nextInt(); int t = sc.nextInt(); if (t == 0) { out.append("-\n"); } else { // 나누기 전에 한쪽을 double로 바꿔야 소수가 남는다 double rate = (double) m / t * 100; out.append(String.format(Locale.ROOT, "%.1f", rate)).append('\n'); } } System.out.print(out); }}
C#Main.cs · 29 行
using System;using System.Globalization;using System.Text;class Program{ static void Main() { int n = int.Parse(Console.ReadLine()); var sb = new StringBuilder(); for (int i = 0; i < n; i++) { string[] p = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries); int m = int.Parse(p[0]); int t = int.Parse(p[1]); if (t == 0) { sb.Append("-\n"); } else { // 나누기 전에 한쪽을 double로 바꿔야 소수가 남는다 double rate = (double)m / t * 100; sb.Append(rate.ToString("F1", CultureInfo.InvariantCulture)).Append('\n'); } } Console.Write(sb); }}
C++main.cpp · 19 行
#include <iomanip>#include <iostream>int main() { int n; std::cin >> n; std::cout << std::fixed << std::setprecision(1); for (int i = 0; i < n; i++) { int m, t; std::cin >> m >> t; if (t == 0) { std::cout << "-\n"; } else { // 나누기 전에 한쪽을 double로 바꿔야 소수가 남는다 double rate = static_cast<double>(m) / t * 100; std::cout << rate << "\n"; } }}
Cmain.c · 18 行
#include <stdio.h>int main(void) { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { int m, t; scanf("%d %d", &m, &t); if (t == 0) { puts("-"); } else { /* 나누기 전에 한쪽을 double로 바꿔야 소수가 남는다 */ double rate = (double)m / t * 100; printf("%.1f\n", rate); } } return 0;}
Craykonmain.cray · 16 行
n = 控制台.读行().转数字();循环 (i = 0; i < n; i++){ 기록 = 控制台.读数字(); m = 기록[0]; t = 기록[1]; 如果 (t == 0) { 控制台.输出("-"); } 否则 { // 크레이콘의 /는 늘 소수까지 나눈다 控制台.输出(字符.保留小数(m / t * 100, 1)); }}