黑马程序员技术交流社区

标题: 求12和18的最小公倍数 [打印本页]

作者: 刘_鑫    时间: 2013-7-2 14:24
标题: 求12和18的最小公倍数
本帖最后由 刘_鑫 于 2013-7-2 20:01 编辑

package org.circle;

public class MinCommonMultiple
{ public static void main(String[] args)
{  
int m =6,n=9;
int result=1;
for(int i=1;i<=m*n;i++)
{

if()
}

}
}代码写到if这就不知道怎么写了....
作者: ‖Space™‖    时间: 2013-7-2 14:47
  1. 你可以直接带入到方法里。
  2. void MinMultiple(int a,int b)
  3. {
  4.    MinMultipe=0;
  5.    for(int j=(a>b?a:b),j<=a*b,j<=a*b,j++)
  6.    {
  7.      if(j%a==0&&j%b==0)
  8.       {
  9.           MinMultiple=j;
  10.           break;
  11.       }
  12. }
  13. }
复制代码

作者: denghui1010    时间: 2013-7-2 15:10
public class test
{
        public  static void main(String[] args)
        {
                int m =12,n=18;
                for(int i=1;i<=m*n;i++)
                {
                        if(i%m==0 && i%n==0)
                        {
                                System.out.println(i);
                                break;
                        }
                       
                }               
        }
}

作者: 谢威    时间: 2013-7-2 15:13
  1. class LowMul {  
  2.   
  3.     private int A, B;  
  4.   
  5.     public int get(int a, int b) {  
  6.         for (int i = Math.max(a, b);; i++) {  
  7.             A = a;  
  8.             B = b;  
  9.             if (accept(i)) {  
  10.                 return i;  
  11.             }  
  12.         }  
  13.     }  
  14.   
  15.     private boolean accept(int n) {  
  16.         return n % A == 0 && n % B == 0;  
  17.     }  
  18.   
  19.     public static void main(String[] args) {  

  20.         LowerCommonMultiple lcm = new LowerCommonMultiple();  
  21.         int test = lcm.get(12, 18);  
  22.         System.out.println(test);  
  23.     }  
  24.   
  25. }  
复制代码

作者: 谢威    时间: 2013-7-2 15:17
  1. public class LowMul2
  2. {
  3.     public static void main(String[] args)
  4.         {
  5.                   int n=12;
  6.                   int m=18;
  7.                   int i;
  8.                   int result=1;
  9.                   for(i=1; i<n*m;i++)
  10.                   {
  11.                                 if((i%n==0)&&(i%m==0))
  12.                                 {
  13.                                           result=i;
  14.                                       System.out.println(result);
  15.                                           break;
  16.                                  }
  17.    
  18.                  }
  19.          }
  20. }
复制代码

作者: 贾永长    时间: 2013-7-2 15:24
求12和18的最小公倍数还不容易? 直接连续键入两个数即可:
上代码:
  1. import javax.swing.JOptionPane;
  2. public class GreatestCommonDivisor
  3. {  public static void main(String args[])
  4.    {  String strA=JOptionPane.showInputDialog("输入第一个数:");
  5.       int numA=Integer.parseInt(strA);
  6.       String strB=JOptionPane.showInputDialog("输入第二个数:");
  7.       int numB=Integer.parseInt(strB);
  8.       int gcd=1;
  9.       int lcm=1;
  10.       for(int k=1;k<=numA&&k<=numB;k++)
  11.       {  if(numA%k==0&&numB%k==0)
  12.          {  gcd=k;                    //gcd为获得的最大公约数
  13.             lcm=(numA*numB)/gcd;     //lcm为获得的最小公倍数
  14.          }
  15.       }
  16.       JOptionPane.showMessageDialog(null,numA+"和"+numB+"的最小公倍数是:"+lcm);
  17.    }
  18. }
复制代码
运行图:


11.jpg (17.3 KB, 下载次数: 0)

1

1

12.jpg (17.37 KB, 下载次数: 0)

12.jpg

13.jpg (13.46 KB, 下载次数: 0)

13.jpg

作者: 宋智超    时间: 2013-7-2 16:05
  1. class gongbeishu
  2. {
  3.              public static void main(String[] args)
  4.             {
  5.                       int a=12,b=18,g;
  6.                       if (a<b)
  7.                     {
  8.                       g=b;
  9.                     }
  10.                       else
  11.                     {
  12.                       g=a;
  13.                     }

  14.                      while (!((g%a==0)&&(g%b==0)))
  15.                      {
  16.                        g++;
  17.                      }
  18.                         System.out.println(a+"和"+b+"的最小公倍数是"+g);
  19.               }
  20. }
复制代码

作者: 杨兴庭    时间: 2013-7-2 16:40
为了更好的维护论坛的学习氛围,如果您的的问题“已经解决”请即时将帖子状态改成“已解决”

-------------------坚持学习,黑马因你而精彩---------------
作者: 黄少海    时间: 2013-7-2 17:05
本帖最后由 黄少海 于 2013-7-2 17:08 编辑

  1. <P>public class kehou88_01 {
  2.         
  3.         public static void main(String[] args){
  4.                
  5.                
  6.                 /**12和18最小公倍数
  7.                  * 思路:
  8.                  * 根据题意设一个int类型的变量x为最小公倍数
  9.                  * 采用一个无限循环从18开始进行判别。如果这个都能被12跟18整除直接跳出循环,
  10.                  * 打印结果
  11.                  */

  12.         
  13.                 int x = 18;//假设的最小公倍数
  14.                 while(true){   //采用一个无限循环从18开始进行判别
  15.                         if(x%12==0 & x%18==0){
  16.                                 System.out.println("最小公倍数:"+x);</P>
  17. <P>                                break; //跳出本循环。
  18.                         }
  19.                         x++;  //这个整数不符合条件。自增1重新判定
  20.                 }
  21.         }
  22. }
  23. </P>
复制代码

结果.png (5.68 KB, 下载次数: 0)

结果.png

作者: 刘_鑫    时间: 2013-7-2 20:00
非常感谢 哈哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2