W wrench Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #2 求最小公倍数一般用大数翻番法, 即将大数不断自加,直到能整除小数为止 求最大公约数嘛, 把小数不断减一,直到大数,小数都能整除为止 如果数字多于两个,则两两计算,可得结果
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #3 最大公约数: 辗转相减法: 比如 12 、32: 大的减小的: 32-12=20 从32、12中选一个小的:12 ,来和 20 计算 20-12=8 剩下 12和8 12-8=4 (4是12和8的...)所以4就是了
最大公约数: 辗转相减法: 比如 12 、32: 大的减小的: 32-12=20 从32、12中选一个小的:12 ,来和 20 计算 20-12=8 剩下 12和8 12-8=4 (4是12和8的...)所以4就是了
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #4 最小功倍数: 比如 12 、32: 刚才找到了他们的最大公约数是4 12x(32/4(最大公约数是))=96 或者 32x(12/4(最大公约数是))=96
C CathyEagle Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #5 最大公约数递推程序 Program GCD var x,y: integer; begin read(x,y); while x<>y do begin while x>y do x:=x-y; while Y<x do Y:=Y-x; end; writeln end; 最小公倍数自然就得到了。
最大公约数递推程序 Program GCD var x,y: integer; begin read(x,y); while x<>y do begin while x>y do x:=x-y; while Y<x do Y:=Y-x; end; writeln end; 最小公倍数自然就得到了。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #6 呵呵,被吃了…… 最大公约数递推程序 Program GCD var x,y: integer; begin read(x,y); while x&lt;>y do begin while x>y do x:=x-y; while Y&lt;x do Y:=Y-x; end; writeln end; 最小公倍数自然就得到了。
呵呵,被吃了…… 最大公约数递推程序 Program GCD var x,y: integer; begin read(x,y); while x&lt;>y do begin while x>y do x:=x-y; while Y&lt;x do Y:=Y-x; end; writeln end; 最小公倍数自然就得到了。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #8 呵呵,被吃了…… &lt 被当作HTML语法
C CathyEagle Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #9 原来如此。你怎么知道我写的后面是什么东西的?你看得到吗?
S SuperMMX Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #12 最大公约数的算法叫辗转相除法, to pipi: 找最小公倍数不能那么找,如果溢出了怎么办?
B beta Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #13 同wrench. BTW,wrench,"四川"那边的分还没给我呢! beta
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-03 #14 如果真正的最小公倍数是能用你的数据类型表示的就不会溢出 再说最小工倍数就是 一个数 * (另一个数 / 他们的最大公约数)
L linffengdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-12 #16 我用C,程序如下: main() {int a,b,num1,num2,temp; scanf("%d,%d",&num1,num2); if (num1<num2) {temp=num1; num1=num2; num2=temp; } a=num1,b=num2; while (b!=0) {temp=a%b; a=b; b=temp; } printf("%d/n",a); printf("%d",b); }
我用C,程序如下: main() {int a,b,num1,num2,temp; scanf("%d,%d",&num1,num2); if (num1<num2) {temp=num1; num1=num2; num2=temp; } a=num1,b=num2; while (b!=0) {temp=a%b; a=b; b=temp; } printf("%d/n",a); printf("%d",b); }