Own digits power sum: Difference between revisions

m
Minor code improvement.
(New post.)
m (Minor code improvement.)
Line 1,011:
}
long inumber = (long) Math.pow(10, n - 1);
long maxmaximum = inumber * 10;
int lastDigit = 0;
int sumdigitSum = 0;
List<Integer> digits;
while ( inumber < maxmaximum ) {
if ( lastDigit == 0 ) {
digits digitSum = String.valueOf(inumber).chars().map(Character::getNumericValue).boxed().toList();
sum = digits.stream().map( d -> powers.get(d) ).mapToInt(IntegerCharacter::intValue).sum(getNumericValue);
.map( i -> powers.get(i) )
.sum();
} else if ( lastDigit == 1 ) {
sumdigitSum += 1;
} else {
sumdigitSum += powers.get(lastDigit) - powers.get(lastDigit - 1);
}
if ( sumdigitSum == inumber ) {
System.out.println(inumber);
if ( lastDigit == 0 ) {
System.out.println(inumber + 1);
}
inumber += 10 - lastDigit;
lastDigit = 0;
} else if ( sumdigitSum > inumber ) {
inumber += 10 - lastDigit;
lastDigit = 0;
} else if ( lastDigit < 9 ) {
inumber += 1;
lastDigit += 1;
} else {
inumber += 1;
lastDigit = 0;
}
880

edits