把两个数分别写成质数相乘的形式,比如求24和36的公约数,24=2×2×2×3,
36=2×2×3×3,
则重复的三个数(2,2,3)从其中挑选的任意数量的数字相乘的结果都是他们的公约数.有2,3,4,6,12.我想把它编写成一个程序,能够循环计算的,就像求两个数的最大公约数那样能够依次用大数除以小数那种类似的方法。
适合于任意数的算法,不想用穷举法来算,不好编程啊
能帮我想到吗???那只能先用你上面的辗转相除法求出最大公约数,然后对最大公约数与小于等于他一半大小的数相除,能整除的数还有商都是它的约数。(所有的公约数都在最大公约数之中)真是太感谢了,所有公约数果然在最大公约数中。
猜你喜欢
- 1一个标有“220V 40W”的电灯,当把它接在200V的电源上时,它的电流为多大
- 2(of the remind childhood old my photo me last night)怎么连词成句?还有某个单词应该有变化.
- 3结合内容进行简要的赏析
- 4生石灰可以哪些类别的物质反应?举两例,写出化学方程式.
- 5(a-2b)(3a+b)²+(a+3b)²(2b-a)
- 6This math problem is too difficult _____.A.for me to work it out B for me to work out
- 7一根电线长四百米,第一次用去了一百五十米,再用去多少米就一共用去这根电线的八分之五
- 82(x2y+xy)-3(x2y+xy)-4x2y其中x=-2,y=1/2.
- 9为什么不能说 水分子是由氢元素和氧元素构成的
- 10一个布袋中装有红,白,黄3个球,每次摸2个球,求摸到红球,白球的概率是()