-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspoj8_pp0501a.dart
64 lines (53 loc) · 970 Bytes
/
spoj8_pp0501a.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*PP0501A - NWD
Napisz funkcję:
int nwd(int a, int b);
która oblicza największy wspólny dzielnik liczb a i b,
0 <= a,b <= 1000000
Input
W pierwszej linii liczba testów t, w kolejnych liniach po dwie liczby w każdym wierszu.
Output
W każdej linii jedna liczba - wynik działania funkcji nwd
Example
Input:
5
1 4
4 1
12 48
48 100
123456 653421
Output:
1
1
12
4
3
*/
import 'dart:io';
void main() {
int t = int.parse(stdin.readLineSync());
for (int i = 0; i < t; i++) {
String input = stdin.readLineSync();
List<String> inputS = input.split(' ');
int n = int.parse(inputS[0]);
int m = int.parse(inputS[1]);
int R = nwd(n, m);
print(R);
}
}
int nwd(int a, int b) {
int bigger;
int smaller;
if (a < b) {
bigger = b;
smaller = a;
} else {
bigger = a;
smaller = b;
}
while (bigger % smaller != 0) {
int x = smaller;
smaller = bigger % smaller;
bigger = x;
}
return smaller;
}