Veider funktsioon
시간 제한0.1초메모리 제한1024 MB
각 A에 대해 1 이상 A 미만인 b를 골라 gcd(A XOR b, A AND b)를 최대화하고 그 값을 출력한다.
문제
On antud positiivne täisarv . Vaja on valida täisarv () nii, et arvude ja suurim ühistegur oleks maksimaalne võimalik, ja väljastada see ühistegur. Teisisõnu on vaja leida funktsiooni väärtus , kus tähistab tehet "bitikaupa välistav VÕI" ja tehet "bitikaupa JA". Nende tehete väärtused ühebitistel arvudel on:
Pikematele arvudele rakendatakse neid tehteid nii, et vaadeldakse operandide kahendesitusi, sooritatakse tehted nende vastavate bittide vahel ja saadud tulemused moodustavad vastuse kahendesituse. Mõned näited:
입력
Faili esimesel real on päringute arv () ja järgmisel real igaühel üks täisarv ().
출력
Faili väljastada rida. Faili reale number väljastada väärtus.