数论
LadyFisrt
这个作者很懒,什么都没留下…
展开
-
UVa 10879 代码重构
/** 解题思路:* 水题*/#include int main( ){ int t,n,i,j,k; scanf("%d",&t); for( k=1;k<=t;k++ ) { scanf("%d",&n ); for( i=2,j=0;;i++) if( n%i == 0 )原创 2014-02-21 11:28:20 · 790 阅读 · 0 评论 -
UVa 575 斜二进制
/** 解题思路:* 水题、直接套用公式即可*/#include #include #include char s[ 10000 ];int main( ){ int i,len,sum; while( scanf("%s",s) ) { len = strlen( s ); if( s[ 0 ] == '0原创 2014-02-18 16:24:32 · 918 阅读 · 0 评论 -
UVa 550 移位乘法
/** 解题思路:* 题意: 给出三个数字,分别是数位基数 , 第一个乘数的最后一位 , 第二个乘数,求第一个乘数的长度* 就是转换进制的思想解题*/#include int main( ){ int x,y,z; int sum,mod,m,total; while( ~scanf("%d%d%d",&x,&y,&z) ) {原创 2014-02-18 19:14:17 · 810 阅读 · 0 评论 -
UVa 10110 灯光
/** 解题思路:* 题意是: 假如有n盏灯,这个人从走廊的起点走到终点n次,在从起点到终点这段路程时(反向不管),* 第 i 次就切换灯光序列号能被 i 除尽开关,问当最后一次走完后,最后一盏灯是开的还是关的* ps: 开始时所有的等都是关的* 解题:判断是否是完全平方数 + 使用longlong!!* 开始的时候使用判断因子的方法做会超时,原创 2014-02-18 17:08:34 · 806 阅读 · 0 评论 -
UVa 40均匀的生成器
/** 解题思路:* 题意比较好理解,就是求给出的step和mod能不能求到0~mod-1的所有数字,因为给出的两个数字可能达到千万级* 所以标记数组不可以使用int 类型,会爆栈,使用char类型可以AC*/#include #include #define A 10000005char vis[ A ];int main( ){ int原创 2014-02-19 13:19:35 · 736 阅读 · 0 评论 -
UVa 350 伪随机数
/** 解题思路:* 题意不难理解,就是利用所给公式求出最多可产生不同的随机数个数* 最开始的思路是像题目中例子那样,如果产生一个数跟第一个种子相同的话则跳出循环* 写完代码后发现第三个Sample进入死循环,则发现最终的那个数有时候不是跟第一个种子相同,* 而是跟任意一个已产生的种子数相同就判跳出循环*/#include #inclu原创 2014-02-19 14:08:08 · 1132 阅读 · 0 评论 -
UVa 568 阶乘
/** 解题思路:* 题意:求改 输入数字 n 阶乘的最后一个非0位的值*刚开始结果不对是因为只保留tmp只保留了1位,应该高位一点,,比如 12 * 15 = 180 , 好像末位是8,进位是1,* 但是 82912 *15 = 1243680,实际上是末位是8,进位是6*/#include int main( ){ int n,i,sum,tmp,x原创 2014-02-18 23:56:42 · 964 阅读 · 0 评论 -
UVa 10061 多少个零和数字?
/** 解题思路:* 久违的一道不水的题,相当于两个问题,一个是求后缀0有多少个,一个是求数字有多少位* 后者较容易,直接用取对数及换底公式即可,* 前者就要拐拐弯了、我的做法是,首先先打素数表,( 因为任何一个合数都可以由素数组成 ),* 只要存在多个素数相乘的积为 进制B , 则末位出现一个0,重复该操作直到最后无法提供足够素数使得到 B值即跳出循环即可~*/原创 2014-02-19 23:02:50 · 1254 阅读 · 0 评论 -
UVa 10392 大数分解
/** 解题思路:* 该题不难、重在打素数表就ok、*/#include #include int prim[ 105000 ],a[ 1000005 ];int main( ){ long long n; int i,j,p,len = sqrt( 1000005 ); for( i=2;i<=len;i++ ) if( !a[原创 2014-02-20 00:39:00 · 1034 阅读 · 0 评论