1 / 6
Sep 2017

Dzień dobry chciałbym zapytać dlaczego sędzia odrzuca mi to zadanie, (niepoprawny wynik)?

double wynik;
int n;	
int liczba1[] = new int[100];
int liczba2[] = new int[30];
		
Scanner skan = new Scanner(System.in);
n = skan.nextInt();
		
for(int i=0;i<n;i++){		
	liczba1[i] = skan.nextInt();
	liczba2[i]= skan.nextInt();
}

for( int i=0;i<n;i++)	{
	wynik=((liczba1[i]*liczba2[i])/nwd(liczba1[i],liczba2[i]));
	System.out.println(wynik);}
}
	
static double nwd(double a , double b){
			
if (a%b==0)  
	return b; 
else
	return nwd(b, a%b);						
}

NIE, nie, nie!!!

Poczytaj o nww i o nwd!

TAK. W tym zadaniu występuje dzielenie, ale jest to dzielenie całkowitoliczbowe, więc double jest tu zupełnie niepotrzebne.

Tak dziękuj, sędzia przyjął gdy wpisałem:

System.out.println((int) wynik);

A czemu tak nie zrobiłem od razu? Ponieważ nie wiedziałem jak zamienia się doublowski wynik na intowy :slight_smile: