2017-09-18 2 views
-2

나는 100 배까지 두 숫자의 공통 배수를 찾는 것을 삼가하고 있지만 실제로는 5 ~ 10 배의 공통 배수 만 인쇄합니다.숫자의 배수가 100 배까지

100 가지 일반적인 요소를 인쇄하는 방법에 대해 제안 해주세요.

import java.util.Scanner; 

public class PrintMultipleOfNo { 

    public static void test(int x,int y) 
    { 
     int n=100; 
     for(int i=1;i<=100;i++) 
     { 
      if(x%i==0&&y%i==0) 
      { 
       System.out.println(i); 
      } 
      continue; 
     } 
    } 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     int x,y; 
     Scanner sc=new Scanner(System.in); 
     x = sc.nextInt(); 
     y = sc.nextInt(); 
     PrintMultipleOfNo.test(x,y); 
    } 
} 
+0

귀하의 코드는 최대 100 개의 일반적인 모든 요소를 ​​인쇄합니다. 원하지 않으시는가? – inovaovao

+0

'lcm'을 계산하고'[1, 100]'범위의 모든 숫자로 곱하십시오. – Paul

+0

당신은 기대치와 일치하지 않는 input + output 예제와 당신이 싫어하는 것에 대한 정확한 설명을 제공해야합니다. – Henrik

답변

2

에만 경우 i을 증가해야 int n=100;을 선언하고 100 개 답변을 원하는 경우에도 continue; 를 사용할 필요가 없습니다 귀하의 블록이 경우-사실이다.

UPD : 무한 루프를 방지하기 위해 다른 if 블록을 추가 할 수 있습니다.

import java.util.Scanner; 

public class PrintMultipleOfNo { 

    public static void test(int x, int y) 
    { 
     for(int i = 1, n = 0; n < 100; i++) 
     { 
      if(x%i == 0 && y%i == 0) 
      { 
       System.out.println(i); 
       n++; 
      } 

      if (i > x || i > y) 
       break; 
     } 
    } 

    public static void main(String[] args) { 
     Scanner sc = new Scanner(System.in); 
     int x = sc.nextInt(); 
     int y = sc.nextInt(); 
     PrintMultipleOfNo.test(x,y); 
    } 
} 
관련 문제