import java.lang.Math;
import java.util.*;
public class Main
{
private final static String HEX = "0123456789abcdef";
public static void main(String[] args) {
System.out.println(toHex("100111010000"));
System.out.println(toBinary("9d0"));
}
public static String toHex(String binaryNumber) {
int decimalNumber = binaryToDecimal(binaryNumber);
String hex = "";
while(decimalNumber != 0){
hex = HEX.charAt(decimalNumber%16) + hex;
decimalNumber = decimalNumber / 16;
}
return hex;
}
private static int binaryToDecimal(String binaryNum) {
if(binaryNum == null || binaryNum.length() == 0) return 0;
int decimal = 0;
for(int i = binaryNum.length()-1, b = 0; i >=0; i--,b++){
int value = Character.getNumericValue(binaryNum.charAt(b));
decimal = decimal + value*(int)Math.pow(2,i);
}
return decimal;
}
public static String toBinary(String hex){
int binary = 0;
for (int i = 0; i < hex.length(); i++) {
binary = 16 * binary + HEX.indexOf(hex.charAt(i));
}
return ""+binary;
}
}
Sweetsixteene
26 уровень
Здравствуйте, я хотел проверить вычисления корректной программы из "правильный ответ" и случайно ее сдал. Теперь я не могу проверить свой код. Скажите пожалуйста, есть место такому коду?
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #2479816
4 апреля 2021, 21:39
Если вас интересует принятие "правильного ответа" реализации алгоритма:
шестнадцатеричная -> десятичная -> двоичная
двоичная -> десятичная -> шестнадцатеричная
то автоматика такое принимает с лёгкостью
+1
Anonymous #2479816
4 апреля 2021, 20:37
У вас программа неправильно переводит в двоичный формат. Мы видим десятичное представление, но не двоичное.
+ у вас нет проверок случай некорректного ввода входных параметров.
0
JustinianJudge в Mega City OneMaster
31 марта 2021, 07:06
Может есть, может нет, если у тебя подписка Премиум (а не Премиум Про), то ты это уже никогда не узнаешь.
Выводы:
1. "Правильный ответ" очень желательно нажимать только тогда, когда ты уже сдал задачу
2. "Правильный ответ" можно нажимать тогда, когда ты решил сдаться по ряду причин, и просто пропустить задачу (хотя во многих случаях лучше оставить задачу на потом).
3. Если задача уже прошла валидацию, код оценивать нельзя. Никакой человек не заменит валидатор.
Поэтому выдохни и иди дальше, и в будущем либо учитывай советы выше либо внимательней смотри что и куда ты нажимаешь :)
+1
Sweetsixteene
31 марта 2021, 07:21
Спасибо за советы
0