Skip to content

Instantly share code, notes, and snippets.

@JossWhittle
Created August 10, 2012 00:12
Show Gist options
  • Save JossWhittle/3309395 to your computer and use it in GitHub Desktop.
Save JossWhittle/3309395 to your computer and use it in GitHub Desktop.
public void p20() {
String v = fact(100);
int r = 0;
for (int i = 0; i < v.length(); i++) {
r += (int)Character.digit(v.charAt(i), 10);
}
System.out.println(r);
}
public String fact(long n) {
if (n 0) {
for (int i = 0; i < dif; i++) {
b = "0" + b;
}
} else if (dif < 0) {
for (int i = 0; i > dif; i--) {
a = "0" + a;
}
}
int carry = 0;
String result = "";
for (int i = len - 1; i >= 0; i--) {
int digit = (int)Character.digit(a.charAt(i), 10)
+ (int)Character.digit(b.charAt(i), 10)
+ carry;
if (digit > 9) {
carry = 1;
digit -= 10;
} else {
carry = 0;
}
result = digit + result;
}
if (carry == 1) {
result = carry + result;
}
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment