摘要: 转: 为了把0去掉,我们把所有的因数2和5都提出来,放到最后再处理。N!中的N个相乘的数可以分成两堆:奇数和偶数。偶数相乘可以写成(2^M)*(M!),M=N DIV 2。M!可以递归处理,因此现在只需讨论奇数相乘。考虑1*3*5*7*9*11*13*15*17*...*N(如果N为偶数则是N-1),这里面是5的倍数的有5,15,25,35,...,可以其中的5提出来,变成(5^P)*(1*3*5*7*9* ...),后面括号中共P项,P=(N DIV 5+1) DIV 2,而后面的括号又可以继续提5出来,递归处理.现在剩下的数是1*3*7*9*11*13*17*19*....这些数我们只需要 阅读全文
posted @ 2011-03-12 17:09 聊聊IT那些事 阅读(1869) 评论(0) 推荐(0)
摘要: http://acm.pku.edu.cn/JudgeOnline/problem?id=1423n!=(log10(sqrt(4.0*acos(0.0)*n))+n*(log10(n)-log10(exp(1.0)))+1);n==1除外 阅读全文
posted @ 2011-03-12 16:56 聊聊IT那些事 阅读(190) 评论(0) 推荐(0)
摘要: <本文中排序都是采用的从小到大排序>一、对int类型数组排序intnum[100];Sample:intcmp(constvoid*a,constvoid*b){return*(int*)a-*(int*)b;}qsort(num,100,sizeof(num[0]),cmp);二、对char类型数组排序(同int类型)charword[100];Sample:intcmp(constvoid*a,constvoid*b){return*(char*)a-*(int*)b;}qsort(word,100,sizeof(word[0]),cmp);三、对double类型数组排序(特别 阅读全文
posted @ 2011-03-12 16:52 聊聊IT那些事 阅读(409) 评论(0) 推荐(0)