zoukankan      html  css  js  c++  java
  • 数字整除

    1008: 数字整除

    Time Limit: 1 Sec  Memory Limit: 128 MB

    Description

    定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。

    例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数。

    Input

    输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(n可能很大),表示待判断的正整数。n=0表示输入结束,你的程序不应当处理这一行。

    Output

    对于每组测试数据,输出一行,表示相应的n是否是17的倍数。1表示是,0表示否。

    Sample Input

    34
    201
    2098765413
    1717171717171717171717171717171717171717171717171718
    0

    Sample Output

    1
    #include <stdio.h>
    #include <iostream>
    using namespace std;
    int main()
    {
        string str;
        int tmp,i=0;
        while(cin>>str&&str!="0")
        {
            i=0;
            tmp=0;
            while(i<str.size())
            {//相当于把整个数字拆开,把前面能整除部分去掉,减少运算位数
                tmp=(tmp*10+(str[i]-'0'))%17;//让字符串中的数字进行运算
                i++;
            }
            if(tmp%17==0)
                printf("1
    ");
            else
                printf("0
    ");
        }
    }
    0
    1
    0

    HINT

    Source

  • 相关阅读:
    Todo
    我的类
    Python socket编程之七:多窗口的应用
    iOS与PHP/Android AES128 ECB NoPadding加密
    JSONModel简便应用
    iOS开发系列--UITableView全面解析
    常用方法
    OC和C++混编
    数据层
    block
  • 原文地址:https://www.cnblogs.com/tianmin123/p/4736226.html
Copyright © 2011-2022 走看看