Hackerrank – Popis problému
Celý popis zadania sa nacháza – Hackerrank.
Riešenie
pre zistenie počtu otočení z predu –
počet otočení zo zadu – najprv si zistím, či je
párne, ak je potrebujem si určiť stranu na pravej strane knihy a tá je vždy nepárna – musím si urobiť
; počet otočení
Vytvoril som riešenie v týchto programovacích jazykoch:
Všetky riešenia sú dostupné aj na mojom GitHub profile.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import java.util.*; public class Solution { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); int n = stdin.nextInt(); int p = stdin.nextInt(); int fromFront = p; int fromBack = n; if(n % 2 == 0) { fromBack = n + 1; } int result = Math.min(fromFront / 2, (fromBack - p) / 2); System.out.println(result); stdin.close(); } } |
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import java.util.*; public class Solution { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); int n = stdin.nextInt(); int p = stdin.nextInt(); int fromFront = p; int fromBack = n; if(n % 2 == 0) { fromBack = n + 1; } int result = Math.min(fromFront / 2, (fromBack - p) / 2); System.out.println(result); stdin.close(); } } |
Javascript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
'use strict'; const processData = input => { const [n, p] = input.split('\n').map(i => parseInt(i)); const fromFront = p; let fromBack = n; if(n % 2 == 0) { fromBack = n + 1; } const result = parseInt(Math.min(fromFront / 2, (fromBack - p) / 2)); console.log(result); }; process.stdin.resume(); process.stdin.setEncoding("ascii"); let _input = ""; process.stdin.on("data", input => _input += input); process.stdin.on("end", () => processData(_input)); |