Member 14787040 Ответов: 1

Как мне разделить его и проверить число, если оно содержит O


Найдите сумму n - значных паллиндромных чисел, которые делятся на 8 и не содержат нуля в своем десятичном представлении.

Что я уже пробовал:

import java.util.*; 

class GFG 
{ 

static boolean isPalindrome(String s) 
{ 
	int left = 0, right = s.length() - 1; 
	while (left <= right) 
	{ 
		if (s.charAt(left) != s.charAt(right)) 
		{ 
			return false; 
		} 
		left++; 
		right--; 
	} 
	return true; 
} 

static long getSum(int n) 
{ 

	int start = (int) Math.pow(10, n - 1); 
	int end = (int) (Math.pow(10, n) - 1); 

	long sum = 0; 

	for (int i = start; i <= end; i++) 
	{ 
		String s = String.valueOf(i); 
		
		// Append
		if (isPalindrome(s)) 
		{ 
			sum += i; 
		} 
	} 

	return sum; 
} 

public static void main(String[] args) 
{ 
	int n = 1; 
	long ans = getSum(n); 
	System.out.print(ans); 
} 
}

OriginalGriff

И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Что вы пытались сделать, чтобы выяснить, почему?
Есть ли какие-либо сообщения об ошибках, и если да, то где и когда? Что вы сделали, чтобы это произошло?

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

1 Ответов

Рейтинг:
1

CPallini

Подсказки:

  • целое число i делится на 8 если (i%8)!=0
  • у вас есть строковое представление числа, это не является сложной задачей, чтобы найти там '0' символ в такой строке