120. 身分證檢驗

 avatar
user_6817964
c_cpp
3 years ago
628 B
6
Indexable
void ID_Check(char ID[]);
void ID_Check(char ID[]) {
    int sum = 0, first;
    if (ID[0] == 73) {
        first = 34;
    }
    else if (ID[0] > 73) {
        first = ID[0] - 57;
    }
    else {
        first = ID[0] - 55;
    }
    sum += (first % 10) * 9 + (first / 10);

    for (int i = 1; i <= 8; i++) {
        sum += (ID[i] - 48) * (9 - i);
    }
    sum += (ID[9] - 48);
    if (sum % 10 == 0) {
        printf("real");
    }
    else {
        printf("fake");
    }
}



int main() {
    char ID[100];
    while (scanf("%s", ID) != EOF) {
        ID_Check(ID);
    }
    return 0;
}
Editor is loading...