좋아요. 그래서이 문제를 해결하는 방법에 대해 잘 모릅니다! 베이스 10과베이스 2 모두에서 1 백만 미만의 모든 숫자를 검색하는 코드를 작성해야합니다.Java : 양쪽베이스의 Palindrome
누군가가이 문제를 시작하도록 도와 줄 수 있습니까?
좋아요. 그래서이 문제를 해결하는 방법에 대해 잘 모릅니다! 베이스 10과베이스 2 모두에서 1 백만 미만의 모든 숫자를 검색하는 코드를 작성해야합니다.Java : 양쪽베이스의 Palindrome
누군가가이 문제를 시작하도록 도와 줄 수 있습니까?
그 해결책은 꽤나 앞으로의 일입니다. 1M 이상의 모든 회상 숫자에 대한 방증입니다.
public class Main {
public static void main(String[] args) {
int count=0;
for (int i = 0; i < 1_000_000; i++) {
if (isDoublePalindrome(""+i)) {
count+=i;
}
}
System.out.println(count);
}
public static boolean isPalindrome(String N){
return new StringBuilder(N).reverse().toString().equals(""+N);
}
public static String toBinary(String N){
return Long.toBinaryString(Long.parseLong(N));
}
public static boolean isDoublePalindrome(String N){
if(isPalindrome(N) && isPalindrome(toBinary(N))) return true;
return false;
}
}
나머지는 여기까지입니다,하지만은 int
주어진 자료의 회문인지 여부를 알려주는 방법이다; 인수가 정확하다고 가정합니다. 즉, 검사 할 숫자가> 0이고 기수가> 0입니다.
public static isPalindromInBase(final int before, final int base)
{
int after = 0;
for (int i = before; i > 0; i /= base) {
after += i % base;
after *= base;
}
return before == after;
}
기본 10에 문장을 생성합니다. 기본 2에 문장을 생성하십시오. 기본 10으로 변환하고, 합계하십시오. 2 개의 합계를 더하십시오. – Deltharis
먼저 읽어야 할 사항 : [질문하는 방법] –
@Deltharis 분명히 틀렸어. OP : 무엇이 문제인가? 1 백만 미만의 모든 숫자에 대해 반복하십시오. 회유 염기베이스를 확인하십시오 10. 회귀 염기베이스를 확인하십시오 2. 모두 만족되면 누적기를 추가하십시오. – maaartinus