数字整除(南阳oj664)(模拟数学)

数字整除

时间限制:1000 ms  |  内存限制:65535 KB

难度:2

描述

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

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

输入
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=10^100),表示待判断的正整数。n=0表示输入结束,你的程序不应当处理这一行。
输出
对于每组测试数据,输出一行,表示相应的n是否是17的倍数。1表示是,0表示否。
样例输入
34201209876541317171717171717171717171717171717171717171717171717180
样例输出
1010
来源
湖南省第六届大学生计算机程序设计竞赛
上传者

ACM_丁国强

#include<stdio.h>
#include<string.h>
char s[10100];
int main()
{
	int i,len,sum;
	while(scanf("%s",s)!=EOF)
	{
		len=strlen(s);
		if(s[0]=='0'&&len==1)
		    break;
		for(i=0,sum=0;i<len;i++)
		{
			sum=10*sum+s[i]-'0';
			sum%=17;
		}
		printf(sum?"0\n":"1\n");
	}
	return 0;
}
时间: 2024-10-03 13:09:45

数字整除(南阳oj664)(模拟数学)的相关文章

数字整除

数字整除 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 73, Accepted users: 67 Problem 10932 : No special judgement Problem description  定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时,原数也是17的倍数 . 例如,34是17的倍数,因

湖南省第6届程序大赛第3题 数字整除

题目C 数字整除 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时,原数也是17的倍数 . 例如,34是17的倍数,因为3-20=-17是17的倍数:201不是17的倍数,因为20-5=15不是17的倍数.输入一个正整数n,你的任务是判断它是否是17的倍数. 输入 输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=10100),表示待判断的正整数.n=0表示输入结束,你的程序不应当处理这一行. 输出 对于每组测试

一阶数字低通滤波器-软件算法模拟RC低通滤波器

将普通硬件RC低通滤波器的微分方程用差分方程来表求,变可以采用软件算法来模拟硬件滤波的功能,经推导,低通滤波算法如下: 式中 :本次采样值 :本次滤波的输出值 :上次的滤波输出值 a :滤波系数,其值通常远小于1 由上式可以看出,本次滤波的输出值主要取决于上次滤波的输出值 (注意不是上次的采样值),本次采样值对滤波输出的贡献是比较小的,但多少有些修正作用,这种算法便模拟了具体有教大惯性的低通滤波器功能. 滤波算法的截止频率可用以下式计算: 式中 a :滤波系数: t :采样间隔时间: 例如:当t

js-找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。

存档. 找出能被两个给定参数和它们之间的连续数字整除的最小公倍数. 1 function smallestCommons(arr) { 2 //分解质因数法,分解为若干个质数相乘 3 var arrratio=[]; 4 var l=0; 5 var min=Math.min(arr[0],arr[1]); 6 var max=Math.max(arr[0],arr[1]); 7 for(var i=min+1;i<max;i++){ 8 arr.push(i); 9 } 10 11 /* va

问题 1074: 数字整除

/******************************************************************** @file Main.cpp @date 2017-6-30 09:44:39 @author Zoro_Tiger @brief 问题 1074: 数字整除 http://www.dotcpp.com/oj/problem1074.html **********************************************************

rwkj 1207 数字整除

数字整除 数字整除 时间限制(普通/Java):1000MS/3000MS            运行内存限制:65536KByte 总提交:121            测试通过:53 描述 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时,原数也是17的倍数 . 例如,34是17的倍数,因为3-20=-17是17的倍数:201不是17的倍数,因为20-5=15不是17的倍数.输入一个正整数n,你的任务是判断它是否是17的倍数. 输入 输入文

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

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组测试数据,每个数据占一行,仅包含一个正整

HUNAN NORMAL UNIVERSITY ACM/ICPC Judge Online 数字整除 java

数字整除 Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 88, Accepted users: 82 Problem 10932 : No special judgement Problem description   定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时,原数也是17的倍数 . 例如,34是17的倍数,

SRM11 T1 骰子 (模拟--&gt;数学)

题目大意:一个骰子在有R*C格的矩形地图上从第一行第一格开始滚来滚去,滚完一行后以相反方向滚下一行,滚完所有格子后停.求所有时刻骰子上方的点数和. O(RC)做法:模拟.用u,f,r分别记录骰子上.前.右三面的点数. 向左滚:int d=7-u:u=r:r=d;//骰子相对面上点数和为7,d暂存底面点数,滚动后原来的右面跑到上面,底面跑到右面. 向右滚:int l=7-r:r=u; u=l;//l暂存左面点数 向下滚:int b=7-f:f=u; u=b;//b暂存后面点数 O(1)做法:数学(