
数论
AcToy
有志者 事竟成
展开
-
UVa 1108 最小公倍数
才看的数论,第一个题是求最小公倍数,记得最小公倍数 是 a * b 除以 a , b最大的公约数。 #include #include using namespace std;int main ( ) { int a, b; while ( cin >> a >> b ) { cout << ( a * b / __gcd ( a, b ) ) <原创 2013-04-16 17:17:55 · 728 阅读 · 0 评论 -
UVa 10392 - Factoring Large Numbers
就是质数分解,和以前做的没什么区别,只改用long long就可以/************************************************************************* > File Name: 10392.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Ti原创 2013-06-03 09:27:39 · 460 阅读 · 0 评论 -
UVa 10622 - Perfect P-th Powers
Case可以写成一个数b的p次幂。求出p的最大值。其实就是质数分解问题的转化。将Case质数分解后,求出所有指数的最大公约数,如2^3*5^6 = ( 2 * 5 ^ 2 ) ^ 3.如果是负数呢。如果最大公约数为偶数,那么负数的偶数次幂一定是正数,不合题。所以将最大公约数不断除2直到除为奇数为止。/*********************************************原创 2013-06-03 18:20:45 · 589 阅读 · 0 评论 -
UVa 10780-Again Prime? No Time.
求N!中M的最高次幂。思路:先将M质数分解,然后对M的每个素数因子求N!的最高次幂。例如M = 45 N = 67. 45 = 3 ^ 2 * 5 ^ 1. 45的素数因子为3 和 5, 而67!中3的最高次幂为31,5的最高次幂为15.这样就可以确定67!中45的最高幂为15,因为67!中每2个3,1个5就包含 一个45,换句话说也就是原创 2013-06-03 22:40:13 · 969 阅读 · 0 评论 -
UVa 10738 - Riemann vs Mertens
预处理,对于一个数Case进行质数分解,如果Case质数分解后质数的指数都是1的话,说明它是square free,如果Case质数分解后的质数数为奇数的话mu[Case]=-1,偶数mu[Case]=1,如果不是square free, mu[Case]=0,M[Case]=mu[1]+……+mu[Case];最后求mu[Case], M[Case].采用预处理的方式,将1000000中原创 2013-06-04 07:50:19 · 914 阅读 · 0 评论 -
UVa 10179 - Irreducable Basic Fractions
欧拉函数/************************************************************************* > File Name: 10179.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Time: 2013年06月04日 星期二 20时19分18秒原创 2013-06-04 20:45:08 · 666 阅读 · 0 评论 -
UVa 10299-Relatives
还是欧拉函数,注意是1输出0/************************************************************************* > File Name: 10299.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Time: 2013年06月04日 星期二原创 2013-06-04 21:03:28 · 653 阅读 · 0 评论 -
UVa 294-Divisors
找到L和U之间其中一个数,这个数有最多的因子数/************************************************************************* > File Name: 294.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Time: 2013年06月原创 2013-06-06 21:18:22 · 882 阅读 · 0 评论 -
UVa 10783-Odd Sum
求m,n之间奇数的和/************************************************************************* > File Name: 10783.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Time: 2013年06月07日 星期四 15时2原创 2013-06-07 15:19:28 · 581 阅读 · 0 评论 -
UVa 10880 - Colin and Ryan
有n块饼干,请G个客人,每个客人吃Q块饼干,要求最后剩m块。思路:只要求出n-m这个数的因子就好,每个因子代表可以请几个客人,但是要满足要求,Q>m,最后要求出去Q,从小到大的顺序 /************************************************************************* > File Name: 10880.cpp原创 2013-06-07 16:08:27 · 1386 阅读 · 0 评论 -
UVa 11064-Number Theory
求1 /************************************************************************* > File Name: 11064.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Time: 2013年06月07日 星期五 16时00分58秒原创 2013-06-07 16:38:12 · 1004 阅读 · 0 评论 -
UVa 10139 - Factovisors
输入Case和num,求Case!是否能整除num。思路:将num质数分解,然后用Case!对每个num质数分解后的素数求指数,和num这个素数比较,如果小于,说明不能整除。/************************************************************************* > File Name: 10139.cpp > A原创 2013-06-08 07:59:41 · 637 阅读 · 0 评论 -
UVa 583-Prime Factors
质数分解,将Case的所有因子全部输出即可/************************************************************************* > File Name: 583.cpp > Author: Toy > Mail: ycsgldy@163.com > Created Time: 2013年06月02原创 2013-06-02 20:56:08 · 654 阅读 · 0 评论 -
UVa 10311-Goldbach and Euler
这个题很好,求100000000以内的数是否可以写成两个素数的和,要求两个素数的差最小。对于输入的Case。如果Case是偶数的话,我们从Case/2向前开始枚举就可以,如果满足条件直接输出即可。如果Case是奇数的话,我们知道素数只有2是偶数,其余的素数都是奇数。一个奇数如果可以写成两个素数和的情况,其中一个一定是2,然后再判断Case - 2是不是素数即可。(因为奇数-奇数一定得偶数,原创 2013-06-02 15:43:04 · 1208 阅读 · 0 评论 -
hdu 1061 Rightmost Digit
就是求所给 num 的 num次幂之后个位的数是什么。当然有规律可寻了。循环的周期为4 #include using namespace std;int Case, ans, num;int main ( ) { cin >> Case; while ( Case-- ) { cin >> num; int tmp = num %原创 2013-04-16 18:24:10 · 402 阅读 · 0 评论 -
UVa 10994 - Simple Addition
数学题,范围很大,枚举一定TLE,所以就要找规律啦。求p ~ q之间数列和的差,就是求(1 ~q )-( 1 ~( p - 1))。/************************************************************************* > File Name: 10994.cpp > Author: Toy > Ma原创 2013-05-24 11:22:57 · 600 阅读 · 0 评论 -
UVa 10929 - You can say 11
就是模拟除法的运算,但是从奥数上可以用奇数位的和减去偶数位的和后mod11.如果是0则可以整除0,反之不能。/************************************************************************* > File Name: 10929.cpp > Author: Toy > Mail: ycsgldy@163.原创 2013-05-27 22:41:01 · 700 阅读 · 0 评论 -
UVa 846-Steps
一道数学题,因为开始和结束的步数都是1,而且每一步只能比前一步大1,小1,或者和上一步相等。所以我从头和尾一起增加步数,所以用一个flag变量控制,第一次是从头开始,然后判断下还剩下的步数是否大于0,在从尾部增加。/************************************************************************* > File Name:原创 2013-05-29 09:05:36 · 810 阅读 · 0 评论 -
UVa 160 -Factors and Factorials
就是求num!中对从2开始的每个素数的指数幂是多少,然后输出指数。注意输出格式/************************************************************************* > File Name: 160.cpp > Author: Toy > Mail: ycsgldy@163.com > Create原创 2013-06-09 21:01:38 · 741 阅读 · 0 评论 -
UVa 10539 - Almost Prime Numbers
求low~high之间有多少个质数分解后由一个素数组成,将10^6内的素数全部打出来,然后枚举每个素数的n(n > 2 )次幂在low和high之间个数的和。/************************************************************************* > File Name: 10539.cpp > Author: Toy原创 2013-06-10 08:55:53 · 1251 阅读 · 0 评论 -
UVa 382 -Perfection
求num的所有因子的和tmp(不包括num),tmp和num的大小关系输出不同的结果。tmp==num 输出 PERFECTtmp>num 输出ABUNDANTtmp/************************************************************************* > File Name: 382.cpp原创 2013-06-09 21:31:47 · 769 阅读 · 0 评论 -
UVa 516-Prime Land
质数分解问题,题意是给出一个数的指数分解形式,例如5 1 2 1.即x = 5 ^ 1 * 2 ^ 1 = 10,然后要求我们来求x - 1的质数的分解形式。输出使从大到小的输出/************************************************************************* > File Name: 516.cpp > Aut原创 2013-06-02 12:37:26 · 1546 阅读 · 0 评论 -
UVa 543-Goldbach's Conjecture
求n可以拆分成两个素数和,而且两个素数的差要最大的。将所有素数在IsComp数组中标记为1,然后只需要枚举n/2就可以,然后判断 i 和 n - i 是不是素数。如果两个都是素数的直接输出即可,因为这样保证两个的差一定是最大的/************************************************************************* > Fi原创 2013-06-02 14:00:11 · 596 阅读 · 0 评论 -
UVa 406-Prime Cuts
筛素数的问题,1~n的素数cnt为偶数个时,输出c*2个素数,当cnt为奇数时输出c*2-1个素数,都是从1~n的素数表的中间开始的。当要求输出的素数个数大于cnt时,将1~n之间的素数全部输出。/************************************************************************* > File Name: 406.cp原创 2013-06-01 08:00:46 · 1802 阅读 · 0 评论 -
UVa 10140- Prime Distance
求L,U区间之间的相邻素数的最小距离和最大距离。如果没有相邻的素数,输出There are no adjacent primes./************************************************************************* > File Name: 10140.cpp > Author: Toy原创 2013-06-01 12:01:10 · 713 阅读 · 0 评论 -
UVa 10110-Light, more light
题意就是一个人在走廊里一共走n次,走第i次的时候,如果i是n的因子,那么他会按下第i个灯泡。问最后第n个灯泡是不是亮着的。求n是不是完全平方数,因为所以因子都是成对出现额度,如果是完全平方数,意味着这个数n有奇数个因子,所以n是开着的,反之是关闭的。/**********************************************************************原创 2013-06-07 22:09:22 · 515 阅读 · 0 评论