Привет! Есть 2 одинаковые (или почти) программы на Python и Java.
Если коротко что он делает:
Есть робот, которому нужно разрезать торт на N (2 <= N <= 100) равных частей. Первый разрез проводится от центра к
K (0.00 <= K <= 359.99) градусов (торт идеальный круг). Нужно вывести где будет находиться последний разрез.
Вводиться два числа N, K через пробел.
Вывод одно число: ответ с 1 числом после точки.
Пример:
Ввод: 2 300.00 Вывод: 120.0
Ввод: 100 0.01 Вывод: 356.4
Python
from math import floor
count, start = input().split()
count, start = float(count), float(start)
onePiece = 360 / count
lastPiece = abs(start + ((count - 1) * onePiece))
if lastPiece > 360:
lastPiece = lastPiece - (floor(lastPiece / 360) * 360)
print(f"{lastPiece:.1f}")
Java
import java.util.Scanner;
import java.text.DecimalFormat;
public class MyClass {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
String[] tokens = s.split(" ");
Double count = Double.valueOf(tokens[0]);
Double start = Double.valueOf(tokens[1]);
Double onePiece = 360 / count;
Double lastPiece = Math.abs(start + ((count - 1) * onePiece));
if (lastPiece > 360) {
lastPiece = lastPiece - (Math.floor(lastPiece / 360) * 360);
}
String res = new DecimalFormat("#0.0").format(lastPiece);
System.out.println(res);
}
}
2 программы одинаковый (сначала написал на Python, потом пришлось переписать на Java). При тестах на Python мне показали Run-time error 1 test, но на Java все тесты прошли успешно.
Подскажите, пожалуйста, проблема в программе или же тесты отличались?