1008: 数字整除

时间限制: 1 Sec  内存限制: 128 MB
提交: 6  解决: 4
[提交][状态][讨论版]

题目描写叙述

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

比如。34是17的倍数。由于3-20=-17是17的倍数;201不是17的倍数,由于20-5=15不是17的倍数。

输入一个正整数n。你的任务是推断它是否是17的倍数。

输入

输入文件最多包括10组測试数据。每一个数据占一行,仅包括一个正整数n(1<=n<=10100),表示待推断的正整数。n=0表示输入结束。你的程序不应当处理这一行。

输出

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

1表示是,0表示否。

例子输入

34
201
2098765413
1717171717171717171717171717171717171717171717171718
0

例子输出

1
0
1
0

提示

简单大数问题:

開始以为就直接能够水过。这个代码直接wa了。

#include <cstdio>
#include <cstring>
int main()
{long long n;long long sum;while(scanf("%I64d",&n)&&n!=0){sum=n/10-(n%10*5);if(sum%17==0)printf("1\n");elseprintf("0\n");}return 0;
}

后来就换用java做大数处理。

import java.math.BigInteger;
import java.util.Scanner;public class nyist664 {public static void main(String[] args) {Scanner scanf=new Scanner(System.in);while(scanf.hasNext()){BigInteger sum=scanf.nextBigInteger();if(sum.equals(BigInteger.ZERO))break;BigInteger n = BigInteger.valueOf(5);//把int型换成大整数型BigInteger m=  BigInteger.valueOf(17);sum=sum.divide(BigInteger.TEN).subtract(sum.mod(BigInteger.TEN).multiply(n));//依照题意,去掉个位数。减去个位数乘以5的值sum=sum.mod(m);//模17if(sum.equals(BigInteger.ZERO)){System.out.println(1);}else System.out.println(0);}}}

这是按题意这样做,直接就过了;

或者直接依照java大数模17也能够过。

import java.math.BigInteger;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanf=new Scanner(System.in);while(scanf.hasNext()){BigInteger sum=scanf.nextBigInteger();if(sum.equals(BigInteger.ZERO))break;BigInteger n = BigInteger.valueOf(17);//sum=sum.divide(BigInteger.TEN)-(sum.mod(BigInteger.TEN).multiply(n));//这里開始写错了sum=sum.mod(n);if(sum.equals(BigInteger.ZERO)){System.out.println(1);}else System.out.println(0);}}}

后来看到别人用c++过的代码,直接用的整型,感觉整型应该不够啊。可是也过了;

#include<stdio.h>
int main()
{int i,sum;char str[105];while(scanf("%s",str)&&str[0]!='0'){sum=0;for(i=0;str[i]!='\0';i++){sum=sum*10+str[i]-'0';sum=sum%17;}printf("%s\n",sum?

"0":"1"); } return 0; }

这个代码也写的非常简洁,效率也非常高。

转载于:https://www.cnblogs.com/yxwkf/p/5320196.html

湖南省第六届大学生计算机程序设计竞赛---数字整除相关推荐

  1. 湖南省第六届大学生计算机程序设计竞赛---弟弟的作业

    1007: 弟弟的作业 时间限制: 1 Sec  内存限制: 128 MB 提交: 3  解决: 3 [提交][状态][讨论版] 题目描述 你的弟弟刚做完了"100以内数的加减法" ...

  2. 湖南省第六届大学生计算机程序设计竞赛 弟弟的作业

    你的弟弟刚做完了"100以内数的加减法"这部分的作业,请你帮他检查一下.每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过100的非负 ...

  3. 湖南省大学生计算机应用竞赛,湖南省第16届大学生计算机程序设计竞赛

    为激发大学生对计算机程序设计的兴趣,提高学生综合运用基础知识进行算法设计.分析和编程实现的能力,培养大学生的创新能力和团队合作精神,湖南省第16届大学生计算机程序设计竞赛于10月17日-10月18日在 ...

  4. 中南大学计算机程序设计实践,我校在湖南省第七届大学生计算机程序设计竞赛中载誉归来...

    9月15日,湖南省第七届大学生计算机程序设计竞赛在湖南农业大学成功举办.我校代表队在本次竞赛中载誉而归,派出的4支参赛队伍中,一支队伍夺得一等奖,三支队伍夺得二等奖. 湖南省大学生计算机程序设计竞赛是 ...

  5. 湖南省第十届蓝狐网络杯大学生计算机程序设计竞赛,2018湖南省第14届大学生计算机程序设计竞赛 C: 时间旅行...

    Description 假设 Bobo 位于时间轴(数轴)上 t0 点,他要使用时间机器回到区间 (0, h] 中. 当 Bobo 位于时间轴上 t 点,同时时间机器有 c 单位燃料时,他可以选择一个 ...

  6. CSU 1803 2016 (数学)【2016年湖南省第十二届大学生计算机程序设计竞赛 - A】

    题目点我点我点我 湖南省第十二届大学生计算机程序设计竞赛 1803: 2016 Time Limit: 5 Sec   Memory Limit: 128 MB Submit: 289   Solve ...

  7. 2018年湖南省第十四届大学生计算机程序设计竞赛 CSU 2164: 2018

    题目传送门 不会自己推,比赛现场找规律. 代码: #include<bits/stdc++.h> using namespace std;typedef long long LL; con ...

  8. 2016年湖南省第十二届大学生计算机程序设计竞赛

    题目: 任意门 听说这套题目是叉姐出的,感觉呵呵了... 据说现场牌都不够发的!!!只能说给湖南省出的题目太强了,不适合新手去做,当然我这种老手也不见得做的多好,出了3题,赶在了三等首,但是感觉自己被 ...

  9. 2016年湖南省第十二届大学生计算机程序设计竞赛(重现)

    A(1803):2016 Submit Page    Summary    Time Limit: 5 Sec     Memory Limit: 128 Mb     Submitted: 245 ...

最新文章

  1. python列表解析的新方法
  2. CSS学习六:布局剖析
  3. MS SQL入门基础:创建索引
  4. vscode 注释_VSCode最强助攻
  5. AR、美颜、机器人:计算机视觉库几乎无所不在
  6. linux 运行msi文件是什么意思,查看Msi文件内容
  7. php 多个数组乘积_VLOOKUP参数使用数组
  8. 将 WinForms 应用从 .NET Core 3.0 升级到 3.1
  9. Visible Trees HDU - 2841(容斥)
  10. CentOS6.9编译安装LNMP环境
  11. Mybatis动态sql语句的生成
  12. SQL2008附加数据库只读怎么修改
  13. python中class什么意思_【转载】在python的class中的,self到底是什么?
  14. pat A1032:sharing 题解(简单静态链表)
  15. 船说CMS小说采集-船说小说免费采集-船说CMS自动采集发布方法详解
  16. DNS反劫持的几种方式
  17. 隐藏在网络邻居背后的协议,快来看看你家网络有几种?
  18. 【论文研读】【目标检测】Revisiting Open World Object Detection
  19. 光圈和快门速度的组合
  20. 追忆信息论之父-香农博士

热门文章

  1. 如果股市出现震荡行情,投资者应如何应对?
  2. 别说普通的创业者,就是那些小有名气的创业者
  3. 为什么很多创业者选择餐饮行业?
  4. 所有的低谷,都是为了更上一层楼
  5. 无人驾驶出租车已经在北京全面开放,未来普通人还需要学驾照吗?
  6. C语言手写快排算法,两个值时也可以使用哦!
  7. servlet 同版本对应的Tomcat版本 ,不同版本的web.xml写法
  8. Java中@WebServlet的使用方法
  9. 分析SQL Server备份
  10. sql server序列_SQL Server中身份和序列之间的区别