8121 12

[问答] R软件编写两个数的最小公倍数的代码怎么写呀?求助! [推广有奖]

11
namgalsip 发表于 2013-9-27 10:39:08
数字很大的话,建议用辗转相除得到最大公约数gcd(a,b),然后最小公倍数lcm=(a*b)/gcd(a,b)
已有 1 人评分热心指数 收起 理由
qoiqpwqr + 1 好的意见建议

总评分: 热心指数 + 1   查看全部评分

12
kaifengedu 发表于 2013-10-1 09:20:05
我来添加个辗转相除.
  1. hcfeuclidean = function(i, j){
  2.   if (j == 0){
  3.     hcfvalue = i
  4.   }
  5.   else{
  6.     k = i %% j
  7.     hcfvalue = hcfeuclidean(j, k)
  8.   }
  9.   return(hcfvalue)
  10. }
  11. lcmusinghcf = function(i,j){
  12.   lcmvalue = i * j / hcfeuclidean(i, j)
  13.   return(lcmvalue)
  14. }
复制代码

13
kaifengedu 发表于 2013-10-1 09:27:09
统计R浪人 发表于 2013-9-22 09:49
是的i 的开始值有问题
应该改为 i
可以改为如此
颠倒小顺序就好了:
  1. a<-5;b<-10 #被求最小公倍数的数
  2. i<-max(a,b)
  3. repeat  
  4. {
  5.   if(i%%a==0&&i%%b==0)
  6.   break
  7.   i<-i+1  
  8. }
  9. c<-i  #最小公倍数
  10. c
复制代码
已有 1 人评分热心指数 收起 理由
jmpamao + 1 :)

总评分: 热心指数 + 1   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 14:55