题解 | #[NOIP2008]ISBN号码#

[NOIP2008]ISBN号码

https://www.nowcoder.com/practice/95712f695f27434b9703394c98b78ee5

#include <stdio.h>

int main() {
    unsigned int languageNum = 0;
    unsigned int publishingHouseNum = 0;
    unsigned int publishingNum = 0;
    char identityNum = 0;
    while (
        scanf("%u-%u-%u-%c", &languageNum, &publishingHouseNum,&publishingNum,&identityNum) != EOF
        ) 
    {

        if (identityNum == 'X')
        {
            identityNum = 58;
        }

        
        int judgeIdentityNum = 0;
        judgeIdentityNum += languageNum * 1;
        for (int i = 1000, j = 2; i>=10 && j<=4; i/=10,j++)
        {
            judgeIdentityNum += ((int)((publishingHouseNum % i)/(i/10))) * j;
        }
        for (long i = 100000, j = 5; i>=10 && j<=9; i/=10,j++)
        {
            judgeIdentityNum += ((int)((publishingNum % i)/(i/10))) * j;
        }

        if (judgeIdentityNum % 11 == identityNum-48)
        {
            printf("Right");
        }
        else 
        {
            if (judgeIdentityNum % 11 == 10)
            {
                printf("%u-%u-%u-X",languageNum,publishingHouseNum,publishingNum);
            }
            else 
            {
                printf("%u-%u-%u-%d",languageNum,publishingHouseNum,publishingNum,judgeIdentityNum%11);
            }
            
        }
        

    }
    
    return 0;
}

全部评论

相关推荐

友友们,我实在是不太明白,校招的话现在大多也是提前实习,然后转正也是需要考核的,考核通过才能转正,那这跟实习转正有什么区别啊
苦闷的仰泳鲈鱼刷了1...:提前实习,是让你提前熟悉业务的,后续是入职后可以减少试用期的(大部分是包入职的);转正实习,要是hc不够或者其他原因,让你正式offer可能都没有,这个风险很大。 ---个人看法和了解到的。
点赞 评论 收藏
分享
面了100年面试不知...:今年白菜这么多,冬天可以狂吃了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务