hzuxiaoma


私信TA

用户名:qq954335558

访问量:1388

签 名:

等  级
排  名 12091
经  验 938
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 惠州学院
专  业

  自我简介:

TA的其他文章

解题思路:

看题目数据范围,肯定是大数啦,用字符数组读取,然后再减去‘0’就是对应的数字了。然后把每个得到的数字对17取余,余数*10到加到下一位,继续取余,最后直接判断余数是否为0就OK了。

注意事项:
水题一道。
参考代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    char m[1050];
    while(scanf("%s",m)){
        if(m[0]=='0')return 0;   //输入0退出循环
        int h=0;  //存储余数
        for(int i=0;i<strlen(m);i++){   
            h=(h*10+(m[i]-'0'))%17;   //每一位不断对17取余
        }
        if(h)puts("0");    //最后判断输出就行啦、、
        else puts("1");
    }
    return 0;
}


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

#include <stdio.h>

int main() {
    char s[200];
    while (scanf("%s", s) != EOF) {
        if (s[0] == '0') break;
        int num = 0;
        for (int i = 0; s[i] != '\0'; i++) {
            num = num * 10 + s[i] - '0';
            num %= 17;
        }
        printf("%d\n", (num == 0));
    } 
    return 0;
}
2023-06-29 10:54:10
  • «
  • 1
  • »