题意:输入整数(1=
解题思路:
看到题目之后一直在找最大公约数和异或之间的关系,但找了半天没有发现。于是果断打表发现如下规律
满足gcd(a,b)=a^b的数有如下规律,要么就是a=b-1,要么就是有前面已求得的满足条件的乘上一定的倍数得到如下:
根据上述规律,我们便可以求的所有的可能性,上面只打印了一部分,整个程序2秒左右完成预处理
代码:
#include...
分类:
其他好文 时间:
2015-08-09 20:45:40
阅读次数:
136
1 #include 2 int cal( int x,int y ) 3 { 4 return y ? cal( y , x % y ) : x;//求最大公约数 5 } 6 int main( ) 7 { 8 int x,y,z; 9 while( scanf( "%d...
分类:
其他好文 时间:
2015-08-09 15:23:43
阅读次数:
102
各位看官们,大家好,上一回中咱们说的是最大公约数的例子,这一回咱们说的例子是:巧用移位。闲话
休提,言归正转。让我们一起talk C栗子吧!
我们在第十九回中说过位操作的内容,并且举了一些简单的例子。因此在这里就不多说了。如果哪位看官
忘记了位操作相关的内容,可以点击这里查找原文。
我们今天说的是位操作的另外一种巧妙用法:使用移位进行除法运算。其实我们在第十九回中也提...
分类:
编程语言 时间:
2015-08-09 09:32:14
阅读次数:
130
各位看官们,大家好,我们在第九回中一起说过最大公约数的例子,这一回咱们继续说该例子。闲话休提,
言归正转。让我们一起talk C栗子吧!
关于最大公约数的内容,我们在第九回中提到过,如果大家忘记了的话,可以点击这里查看原文。
我们今天继续说最大公约数,说的内容可以看作是对第九回的补充。和第九回一样,我们还是通过辗转相
除法来求最大公约数。不过我们在第九回中主要通过循环...
分类:
编程语言 时间:
2015-08-08 16:34:52
阅读次数:
144
1 . 欧几里得算法(递归法球两个数的最大公约数) 算法比较简单就直接贴代码了: int gcd(int a , int b){ return b ==0 ? a : gcd(b , a%b); } 在这个算法的基础上可以该进,gcd(a*n , ...
分类:
编程语言 时间:
2015-08-08 11:47:15
阅读次数:
137
关键点:利用算术基本定理可以重新定义整数a和b的最大公约数和最小公倍数。详解:http://m.blog.csdn.net/blog/u011328934/24499897 1 #include 2 #include 3 #include 4 using namespace std; 5 6...
分类:
其他好文 时间:
2015-08-08 10:29:18
阅读次数:
101
在c语言的学习之中,经常会碰到:
计算最大公约数,最小公倍数和素数判断的问题;
在这里由浅入深总结一下:
1. 最大公约数与最小公倍数 :
由数学知识我们知道:
两个数的最小公倍数 = 这两个数的乘积 / 两个数的最大公约数;
所以求最大公约数和最小公倍数的问题其实是一类问题;
①.最小公倍数:
方法...
分类:
其他好文 时间:
2015-08-05 18:25:06
阅读次数:
160
输入n(using namespace std;typedef long long LL;LL a[15];LL gcd(LL a,LL b) //求a和b的最大公约数{ if(b) return gcd(b,a%b); return a;}LL lcm(LL a,LL b) //求a和b的最小公倍...
分类:
其他好文 时间:
2015-08-03 16:45:43
阅读次数:
155
最小公倍数和最大公约数 在学校的时候 不管学什么编程 练习总会有这个题 看起来挺简单的
其实 它就是那么的简单
在编代码之前 我们可以做一下这样的假设
有两个数 m、n
最大公约数是a
那么 m = b * a;
n = c * a;
那么 最小公倍数k = a * b * c;
k = m * n...
分类:
编程语言 时间:
2015-08-02 20:06:31
阅读次数:
149
题目:输入两个正整数number1和number2,求其最大公约数和最小公倍数。 算法:较大数和较小数取余,较小数除余数,一直到余数为0时,为最大公约数(辗转相除法);最大公倍数numbe1*number2/(最大公约数),下面直接上代码:import java.util.Scanner;pu...
分类:
编程语言 时间:
2015-08-02 13:17:47
阅读次数:
134