LinuxBash/Shell:[root@memshell]#catprime.sh
#!/bin/sh
#Printprimefrom1to100
for((i=1;i<=100;i++))
do
if[$i-eq1];then
continue
fi
flag=0
for((j=2;j<i;j++))
do
a=$[$i%$j]
if[$a-eq0];then
flag=1
fi
done
if[$flag-eq0];then
echo$iispri..
分类:
其他好文 时间:
2014-08-04 14:42:08
阅读次数:
257
题目链接:uva 1323 - Vivian's Problem
题目大意:给定N个数,然后为每个数添加一个幂ei,最后N项垒乘的结果为M,要是得M的所有因子的和可以写成2x,求x的最大值,如果没有条件满足,输出NO
解题思路:若一个数可以写成若干个不同的梅森素数的乘积,那么这个数的所以因子和可以写成2x.
232?1的范围内只有8个梅森素数,所以可以用状压处理。
梅森素数...
分类:
其他好文 时间:
2014-08-04 11:08:47
阅读次数:
234
#include #include #include int f[3000000];int main(){ int i, j, k; f[0]=0; f[0]=1; f[2]=1; for(i=0; i<=3000000; i++) //所有2的倍数标记为不是素数 { if(i%2==0) ...
分类:
其他好文 时间:
2014-08-04 10:27:46
阅读次数:
176
题目连接:hdu 4910 Problem about GCD
题目大意:给定M,判断所有小于M并且和M互质的数的积取模M的值。
解题思路:有个数论的结论,若为偶数,M=M/2. 可以写成M=pk,即只有一种质因子时,答案为M-1,否则为1.特殊情况为4的倍数,不包括4.
首先用1e6以内的素数去试除,如果都不可以为p,那么对大于1e6的情况判断一下是否为素数,是素数也可以(k=1)...
分类:
其他好文 时间:
2014-08-04 02:05:06
阅读次数:
265
HDU 4910 Problem about GCD
题目链接
题意:给定一个数字,求出1 - n之间与他互质的数的乘积mod n
思路:看了网上别人找出来的规律,原文链接
然后由于这题的n很大,也没法直接判定,可以这样搞,先去试10^6以内的素数,判断可不可以,如果不行,再利用米勒拉宾判下是否是素数,如果不是的话,把这个数字开根在平方,判断是不是完全平方数,这样做的原因是数字...
分类:
其他好文 时间:
2014-08-04 02:03:46
阅读次数:
273
Prime Testhttp://poj.org/problem?id=1811 1 #include 2 #include 3 using namespace std; 4 typedef __int64 LL; 5 LL mulmod(LL a,LL b,LL c) { //ret=(...
分类:
其他好文 时间:
2014-08-03 20:18:15
阅读次数:
245
题目大意:
给定n和k, 求 n! 能被 k^i 整除时,i 的最大取值。
解题思路:
将k分解质因素,问题变为,(1×2×3×...×n) 要被 ( p1^(i*a1) × p2^(i*a2) × ... × pn^(i*an) ) 整除,即分子中各分母的质因数的幂次要大于等于分母。
所以根据k的各质因素,求出满足各质因数的幂次 分子>=分母 的关系限制i,算出最大的i即可。
这题要用到unsigned long long,比较坑。。...
分类:
其他好文 时间:
2014-08-03 18:08:25
阅读次数:
299
题目大意:
需要你构造一个b数组。使得b数组中的所有元素互质。
而且使得b数组与a数组中的每个对应下标元素的差值和最小。
思路分析:
考虑到 a中所有元素都是 0 - 30.
所以b中的元素也只可能在 0 - 59.
因为如果b 选择60的话,结果和1是一样的,而且b序列中 1 可以重复出现很多次。
因为gcd (1,x) = 1。。
所以们首先把2 - 59中的所有素数处...
分类:
其他好文 时间:
2014-08-03 10:19:05
阅读次数:
336