int div_num(int temp) { int sum=0; while (temp) { sum += temp % 100; temp = temp / 100; } if (sum >= 100) return div_num(sum); else return sum; }
int main(){ // const Int N = 7; const Int N = 2000000; for (Int i = 1; i <= N; ++i) { // Int tn = i * (i + 1) / 2; // Int d = div_num(tn); Int d; if ((i & 1)) d = div_num(i) * div_num((i+1)/2); else d = div_num(i/2) * div_num(i+1); if (d > 500) { Int tn = i * (i + 1) / 2; std::cout << tn << ": " << d << std::endl; return 0; } } return 1; }
int divisible2(char *input) { int i, length, sum = 0, temp; for (length = 0;input[length];length++); for (i = length-1;i-1 >= 0;i = i - 2) sum += (((input[i - 1] - '0') * 10) + input[i] - '0'); if (length%2==1) sum += (input[0] - '0'); temp = sum; if (sum >= 100) { sum=div_num(temp); } if (sum == 00 || sum == 11 || sum == 22 || sum == 33 || sum == 44 || sum == 55 || sum == 66 || sum == 77 || sum == 88 || sum == 99) { return 1; } else return 0; }