【杭电】[5585]Numbers

文章字数:306

问题描述

问题分析

找个好久也没找到原题出自哪里
所以只好用这种形式来命名啦

因为感觉这题还是有说的必要的
挺有意思

这里的关键在于对N的限制条件
很明显这是个相对大的数字

所以还是要用字符串模拟
然后判定能否被235整除时也有了简便的判定方法

首先是2和5的判断
只需判断字符串的最后一个
也就是数字的最后一位即可

不过对于3 我还是没想到什么更好的判定
用了那个 各个数字之和能被3整除
则这个数能被3整除那个定理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<stdio.h>
#include<string.h>
int main() {
	char s[100];
	int l,i;
	__int64 m;
	while(scanf("%s",s)!=EOF) {
		l=strlen(s);
		if((s[l-1]-'0')%2==0)
			printf("YES\n");
		else if(s[l-1]=='0'||s[l-1]=='5')
			printf("YES\n");
		else {
			for(i=m=0; i<l; i++) {
				m=m+s[i]-'0';
			}
			if(m%3==0)
				printf("YES\n");
			else
				printf("NO\n");
		}
	}
	return 0;
}

不知道题目地址能不能进去……
学长也不告诉题目出处……
-.-
太不体贴了

题目地址:【杭电】[5585]Numbers

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...