Вот мой код: < /p>
Пример: < /p>
Код: Выделить всё
List A = [2]
List B = [13]
Lict C = [70, 43]
< /code>
result = 2 < /p>
Объяснение, допустимые комбинации составляют 2+13+70 = 85, 2+13+43 = 58, оба имеют 5 и 8, как только Didigits в их сумме.import java.util.*;
class Main {
public static void main(String[] args) {
System.out.println(solve(Arrays.asList(2),
Arrays.asList(13),
Arrays.asList(70))); // 1
System.out.println(solve(Arrays.asList(2),
Arrays.asList(13),
Arrays.asList(70, 43))); // 2
}
public static int solve(List A, List B, List C) {
int count = 0;
for(long a : A) {
for(long b : B) {
for(long c : C) {
long sum = a+b+c;
if(valid(sum)) count++;
}
}
}
return count;
}
static boolean valid(long sum) {
if(sum ==0) return false;
while(sum > 0) {
long e = sum % 10;
if(e != 5 && e != 8) return false;
sum /= 10;
}
return true;
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... n-a-number