Я впервые публикую. В последнее время впадал в кодирование. Я думал я выполнил еще одну задачу Google Foobar, но когда я проверяю этот код с помощью Google, я получаю ошибки в 3/5 раза (нет обратной связи на диаграмме, которые возникают ошибки.) Я не получаю ошибок, когда я генерирую 10 миллионов случайных диаграмм ...
В любом случае, мой код, чтобы отменить сообщение hash (129*Сообщение (i] xor: xor: xor: xor: xor: xor]).public static int[] answer(int[] digest){
int[] message = new int[digest.length];
message[0] = 0;
for(int i = 1; i < digest.length; i++){
for(int n = 0; n < 256; n++){//find the possible inverses of mod 256...should figure out what to max n out at, 256*256?
//the digest number and message number should be 1 apart.
int modInverse = n*256+digest;//x mod y = z if x = ny + z...find possible values of inverse mod 256
int xorInverse = modInverse^message[i-1];//undo XOR using all of the tested modInverse and previous message...might need to do previous digest?
int divided = xorInverse/129;//undo multiplying by 129.
int remainder = xorInverse%129;//see if there is no remainder.
if(remainder == 0){
message = divided;
break;
}
}
}
return message;
}
Подробнее здесь: https://stackoverflow.com/questions/341 ... on-in-java