这道题有个小技巧,就是既然是n!,那么对2009求余,只要大于2009!,那么一定是0,在仔细想想会发现,根本到不了2009,只要到2009的最大质因数就行了,为什么呢?因为最大质因数是最大的一个不能被2009整除的,2009的最大质因数是41,也就是只要大于41的阶乘的都可以整除2009,因为41...
分类:
其他好文 时间:
2014-12-16 22:31:57
阅读次数:
268
【整数的可除性】1、带余数除法。若a、b是两个整数,其中b>0,则存在着两个整数q及r,使得a=bq+r,00,且b>r>=0。所以对于(-1)%7,r应该是6。理论上不应该存在b为负数的情况。 b | a,意为b整除a。 a = bt。2、a是b的倍数,b是c的倍数,则a是c的倍数。3、若a...
分类:
其他好文 时间:
2014-12-16 16:44:59
阅读次数:
293
数字整除
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。
例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数。
输...
分类:
其他好文 时间:
2014-12-14 22:48:42
阅读次数:
206
题意:输入n,求至少两个正整数,使得这些数的最小公倍数为n且和最小。分析:设n的分解式为,很显然单独作为一项,和最小。这里有两个小技巧:从2开始不断的除n,直到不能整除为止。这样就省去了素数判断的问题,而且缩短了代码量。因为最开始把所有n的2的因数都出去了,后面便不会出现n % 4 == 0的情况,...
分类:
其他好文 时间:
2014-12-14 07:02:56
阅读次数:
153
13.9 编写支持对齐分配的malloc和free函数,分配内存时,malloc函数返回的地址必须都能被2的n次方整除。解法: 一般来说,使用malloc,我们控制不了分配的内存会在堆里哪个位置。我们只会得到一个指向内存块的指针,指针的起始地址不定。要克服这些限制条件,我们必须申请足够大的内存,要....
分类:
编程语言 时间:
2014-12-11 15:27:40
阅读次数:
136
原文:多种方法实现素数的判断素数的定义: 指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。 我将给出几种实现对自然数n进行素数的判断方法,主要从代码的执行效率上考虑这个问题。 首先,根据素数的定义,大家都会想到的一个...
分类:
其他好文 时间:
2014-12-11 12:15:35
阅读次数:
122
设为1到500的整数中能被i整除的数的集合,, 则,,, ,,, , 满足条件的整数个数为:,根据容斥原理有: 我知道是容斥原理,关键是不知道最后一个公式,用两个集合想想韦氏图就行了。
分类:
其他好文 时间:
2014-12-10 22:44:58
阅读次数:
1442
1、方法的控制流程Java中的流程控制结构主要有三种:顺序结构选择结构if语句(二路选择结构)、switch语句(多路选择结构)循环结构for语句、while语句、do-while语句跑个程序:输入一个年份,判断它是不是闰年。(闰年: 能被4整除但不能被100整除,或者能被400整除)public ...
分类:
编程语言 时间:
2014-12-10 19:35:59
阅读次数:
318
背景:周赛e题,当时很快就有人出,我能看出来是dfs但是却不能实现,哎以为自己能力不可写出,结果低估自己了。
学习:1.打了一个素数表,比较快捷,还有素数判别方法的函数,只需要枚举到该数的平方根即可,因为大于它的平方·根之后商都小于1,不可能再整除了。
int isPrime(int x)
{
int i;
for (i = 2; i <= sqrt(x*1.0); i++)//sqrt函...
分类:
其他好文 时间:
2014-12-09 23:11:12
阅读次数:
360
是否被整除
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述一个位数不大于100万位的正整数,如果它既能被11整除又能被2的n次方整除就输出YES否则输出NO
输入输入有多组数据每组数据有两行
第一行一个n代表2的n次方(0
第二行一个整数
输出输出只有一行每行一个YES或NO
样例输入
1
110
2
1100
3
110...
分类:
其他好文 时间:
2014-12-09 21:37:11
阅读次数:
177