湖南省第六届大学生计算机程序设计竞赛—数字整除

湖南省第六届大学生计算机程序设计竞赛—数字整除

大家好,又见面了,我是全栈君。

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");
       else
        printf("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);//模17
			if(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://javaforall.net/115589.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月2日 下午12:00
下一篇 2022年2月2日 下午12:00


相关推荐

  • hive sql语句和mysql用法区别存档

    hive sql语句和mysql用法区别存档写在前面以下功能版本:mysql版本:5.6.17hive版本:2.2.41、GROUP_CONCAT先看下面数据表test_group:(1)简单情况需求如下:写出一个sql语句,按照category分组,并把组内的name使用“;”分隔符连接。①mysql中SELECT category, GROUP_CONCAT(nameSEPARATOR&amp;amp;amp;amp;quot;;&amp;amp;amp;amp;quo

    2022年10月2日
    4
  • 关于使用Axis2 webservice 处理Fault响应时抛org.apache.axis2.AxisFault的分析

    关于使用Axis2 webservice 处理Fault响应时抛org.apache.axis2.AxisFault的分析使用Axis2这个框架进行webservice协议通讯,期间出了个问题,我(CLIENT)请求后,当服务端返回符合协议的SOAP异常报文,例如<soap:fault>…我的程序直接

    2022年7月2日
    28
  • 什么是ELK 日志分析系统 ?

    什么是ELK 日志分析系统 ?nbsp 大纲 一 简介二 Logstash 三 Redis 四 Elasticsearc 五 Kinaba nbsp nbsp 一 简介 1 核心组成 ELK 由 Elasticsearc Logstash 和 Kibana 三部分组件组成 Elasticsearc 是个开源分布式搜索引擎 它的特点有 分布式 零配置 自动发现 索引自动分片 索引副本机制 restful 风格接口 多数据源

    2026年3月19日
    1
  • Linux系统安装Python3环境(超详细)

    Linux系统安装Python3环境(超详细)本文基于如下Linux系统版本:1、默认情况下,Linux会自带安装Python,可以运行python–version命令查看,如图:我们看到Linux中已经自带了Python2.7.5。再次运行python命令后就可以使用python命令窗口了(Ctrl+D退出python命令窗口)。2、查看Linux默认安装的Python位置看到/usr/bin/python…

    2022年5月26日
    65
  • pycharm将代码同步到远程服务器_pycharm连接python调试器失败

    pycharm将代码同步到远程服务器_pycharm连接python调试器失败pycharm远程调试程序时出现“Couldn’tconnecttoconsoleprocess.Processfinishedwithexitcode-1”针对于错误代码为-1的情况,本人解决方式如下:pycharm→\rightarrow→EditConfigrations→\rightarrow→python→\rightarrow→Runwithp…

    2022年8月27日
    5
  • xray漏洞扫描器

    xray漏洞扫描器文章目录一、xray下载二、xray安装、使用一、xray下载xray是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:1、检测速度快。发包速度快;漏洞检测算法高效。2、支持范围广。大至OWASPTop10通用漏洞检测,小至各种CMS框架POC,均可以支持。3、代码质量高。编写代码的人员素质高,通过CodeReview、单元测试、集成测试等多层验证来提高代码可靠性。4、高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可

    2022年5月7日
    90

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号