YTU 2543: 数字整除
2543: 数字整除
时间限制: 1 Sec 内存限制: 128 MB
提交: 33 解决: 8
题目描述
定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的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
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include<stdio.h>
#include<string.h>
int main()
{
int a,i;
char s[105];
while(scanf("%s",s))
{
int b=0,g=0,j=0;
if(s[0]=='0')break;
a=strlen(s);
if(a>=4)
{
for(i=a-4; i<a-1; i++)
g=g*10+s[i]-'0';
g=g-(s[a-1]-'0')*5;
for(i=0; i<a-4; i++)
b=(s[i]-'0'+b*10)%17;
b=b*1000;
b=(b+g)%17;
if(b==0)printf("1\n");
else printf("0\n");
}
else
{
if(a==1)printf("0\n");
else
{
if(a==2)
{
g=(s[0]-'0')-(s[1]-'0')*5;
if(g<0) g=-g;
if(g%17==0)printf("1\n");
else printf("0\n");
}
if(a==3)
{
g=(s[1]-'0')-(s[2]-'0')*5+(s[0]-'0')*10;
if(g<0)g=-g;
if(g%17==0)printf("1\n");
else printf("0\n");
}
}
}
j++;
if(j==10)break;
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
int a,i;
char s[105];
while(scanf("%s",s))
{
int b=0,g=0,j=0;
if(s[0]=='0')break;
a=strlen(s);
if(a>=4)
{
for(i=a-4; i<a-1; i++)
g=g*10+s[i]-'0';
g=g-(s[a-1]-'0')*5;
for(i=0; i<a-4; i++)
b=(s[i]-'0'+b*10)%17;
b=b*1000;
b=(b+g)%17;
if(b==0)printf("1\n");
else printf("0\n");
}
else
{
if(a==1)printf("0\n");
else
{
if(a==2)
{
g=(s[0]-'0')-(s[1]-'0')*5;
if(g<0) g=-g;
if(g%17==0)printf("1\n");
else printf("0\n");
}
if(a==3)
{
g=(s[1]-'0')-(s[2]-'0')*5+(s[0]-'0')*10;
if(g<0)g=-g;
if(g%17==0)printf("1\n");
else printf("0\n");
}
}
}
j++;
if(j==10)break;
}
return 0;
}
YTU 2543: 数字整除的更多相关文章
- YTU 2851: 数字游戏
2851: 数字游戏 时间限制: 1 Sec 内存限制: 128 MB 提交: 164 解决: 85 题目描述 输入若干个正整数,将其中能写成其它两个正整数的平方和的数输出来. 例,若输入的数中有 ...
- 求两个数字的最大公约数-Python实现,三种方法效率比较,包含质数打印质数的方法
今天面试,遇到面试官询求最大公约数.小学就学过的奥数题,居然忘了!只好回答分解质因数再求解! 回来果断复习下,常用方法辗转相除法和更相减损法,小学奥数都学过,很简单,就不细说了,忘了的话可以百度:ht ...
- js-FCC算法Smallest Common Multiple。找出两个参数和它们之间的连续数字的最小公倍数。
存档. 找出能被两个给定参数和它们之间的连续数字整除的最小公倍数. function smallestCommons(arr) { //分解质因数法,分解为若干个质数相乘 var arrratio=[ ...
- BZOJ 1853 幸运数字(容斥原理+dfs)
题意:求闭区间内能被6和8组成的数字整除的数目.n<=1e11. 我们可以预处理出这些6和8组成的数字,大概2500个,然后排除一些如88,66的情况.这样大概还剩下1000个. 转化为[0,r ...
- nyoj-664-数字整除(水题)
数字整除 时间限制:1000 ms | 内存限制:65535 KB 难度: 描写叙述 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时.原数也是 ...
- Smallest Common Multiple
FCC题目:找出能被两个给定参数和它们之间的连续数字整除的最小公倍数. 范围是两个数字构成的数组,两个数字不一定按数字顺序排序. 例如对 1 和 3 -- 找出能被 1 和 3 和它们之间所有数字整除 ...
- uva1635
/* 哑元 组合数的递推整除判断_________________________________________________________________________________ #i ...
- fcc的中级算法题
核心提示:这是网上开源编程学习项目FCC的javascript中级编程题(Intermediate Algorithm Scripting(50 hours)),一共20题.建议时间是50个小时,对于 ...
- [codeforces 55]D. Beautiful numbers
[codeforces 55]D. Beautiful numbers 试题描述 Volodya is an odd boy and his taste is strange as well. It ...
随机推荐
- U盘启动盘制作工具(安装Linux)
2018-09-15 17:36:42 1. Etcher 官网:https://etcher.io/ 资料来源:https://linuxmint-installation-guide.readt ...
- SQLAlchmy模块详解
之前写过一篇博客介绍过sqlalchemy的基本用法,本篇博客主要介绍除增删改查以外SQLAlchemy对数据库表的操作,主要内容有单表操作.一对多操作.多对多操作. 一.单表操作 单表操作的增删改查 ...
- Java使用ZXing生成/解析二维码图片
ZXing是一种开源的多格式1D/2D条形码图像处理库,在Java中的实现.重点是在手机上使用内置摄像头来扫描和解码设备上的条码,而不与服务器通信.然而,该项目也可以用于对桌面和服务器上的条形码进行编 ...
- python 爬虫示例,方便日后参考
参考网址:https://zhuanlan.zhihu.com/p/32037625 def getOneMoviesInfo(Mid,url): import requests from lxml ...
- idea 修改Git密码和账号方法
IDEA修改git账号及密码的方法: 1.file->settings->passwords 2.重启IDEA 3.执行一次提交或更新 当执行提交或更新之后,idea会自动提示输入账号.密 ...
- javaWeb学习之 Filter过滤器----https://www.cnblogs.com/xdp-gacl/p/3948353.html
https://www.cnblogs.com/xdp-gacl/p/3948353.html
- Hadoop入坑记
Hadoop入坑记 按照官方给的伪分布式配置 etc/hadoop/core-site.xml: <configuration> <property> <name> ...
- Leetcode 187.重复的DNA序列
重复的DNA序列 所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮 ...
- [luoguP1489] 猫狗大战(DP)
传送门 类似背包的做法. f[i][j]表示是否能放i个物品,价格为j #include <cstdio> #include <iostream> #define N 8001 ...
- poj 1330lca模板题离线算法
#include<iostream> #include<vector> using namespace std; const int MAX=10001; int pre[MA ...