5 条题解

  • 0
    @ 2024-10-3 12:43:23
    #include<stdio.h>
    int DenyIDCard(char *arr){
            int weights[] = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
        char checkCodes[] = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
        int sum=0;
        for(int i=0;i<17;i++){
            int num=arr[i]-'0';//将字符转换为整形
             sum=sum+num*weights[i];
        }
        int remindnum=sum%11;
        char lastnum=arr[17];
        return lastnum==checkCodes[remindnum];
        }
        int main(){
            int n;
            scanf("%d",&n);
            while(n--){
                char arr[19];
                scanf("%s",arr);
                if(DenyIDCard(arr)){
                    printf("True\n");
                }
                else{
                    printf("False\n");
                }
    
            }
            return 0;
        }
    
    

    信息

    ID
    53
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    递交数
    1804
    已通过
    317
    上传者