Showing GCD and LCM side by side

this program of mine giving the wrong answer but has been submitted correctly by other users in the solution section
what is the problem?

import java.util.*;
import java.lang.*;

/* Name of the class has to be "Main" only if the class is public. */
class Main
	public static void main (String[] args) throws java.lang.Exception
		Scanner sc =  new Scanner(;
		int gcdans=0;
		int n = sc.nextInt();
		int ar[]=new int[n*2];
		for(int i=0;i<(n*2);i++){
		for(int j=0;j<(n*2);j+=2){
		    gcdans = gcd(ar[j],ar[j+1]);
		    System.out.println(gcdans+" "+(ar[j]*ar[j+1]/gcdans));
	static int gcd(int a, int b){
	        return a;
	    }else {
	        return gcd(b, a%b);

I’m beginner to codechef. Please help!

Here’s the problem:- Contest Page | CodeChef

And my solution:- Solution: 44559040 | CodeChef

You are using an Integer array. Say the given Integers are

999983 999979

The LCM of these two Integers is


This doesn’t fit in an Integer. So, long has to be used.


Thanks, @suman_18733097. Made changes as you said. It is Accepted :slight_smile:

1 Like