int main() { int tmp; long int len; long int i; long int ctr; char str[256]; while (scanf("%s", str) != EOF) { int arr[10] = {0}; len = strlen(str); ctr = 0; if (len < 2) { printf("1\n"); continue; } arr[1] = 1; arr[2] = ((str[len-1]-'0')%2 == 0); arr[3] = (check3(str)); arr[4] = (((str[len-1] - '0') + (str[len-2] - '0')*10)%4 == 0); arr[5] = ((str[len-1]-'0')%5 == 0); arr[6] = (!(!(((str[len-1]-'0')%2 == 0 ) && arr[3]))); arr[7] = check7(str); arr[8] = (check8(str)); arr[9] = (check9(str)); for (i =0 ;i<len; i++) { tmp = (str[i] - '0'); ctr = ctr + arr[tmp]; } printf("%ld\n", ctr); } return 0; }
bool Control::check(std::vector<int> &n) { getOutCard(n); bool result=false; switch (n.size()) { case 1: result=check1(); break; case 2: result=check2(); break; case 3: result=check3(); break; case 4: result=check4(); break; case 5: result=check5(); break; case 6: result=check6(); break; case 7: case 11: case 13: result=check7(); break; case 8: result=check8(); break; case 9: result=check9(); break; case 10: result=check10(); break; case 12: result=check12(); break; case 14: result=check14(); break; case 15: result=check15(); break; case 16: result=check16(); break; } return result; }
int check(int length1, float *number3, int *oper3){ if (length1 == 1) return check1(number3,oper3); if (length1 == 2) return check2(number3,oper3); if (length1 == 3) return check3(number3,oper3); if (length1 == 4) return check4(number3,oper3); if (length1 == 5) return check5(number3,oper3); if (length1 == 6) return check6(number3,oper3); if (length1 == 7) return check7(number3,oper3); if (length1 == 8) return check8(number3,oper3); if (length1 == 9) return check9(number3,oper3); if (length1 == 10) return check10(number3,oper3); return 0; }