Guest User

Untitled

a guest
May 21st, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. package main
  2.  
  3. // Пирог нужно разрезать на n и на m равных частей
  4. // так, что бы хотя бы один из разрезов совпадал.
  5. // Тогда количество совпадающих разрезов равно НОД(n, m),
  6. // а минимальное кол-во кусков --- n + m - НОД(n, m).
  7. func task94(n, m int) int {
  8. return n + m - nod(n, m)
  9. }
  10.  
  11. func nod(a, b int) int {
  12. for a != 0 && b != 0 {
  13. if a >= b {
  14. a %= b
  15. } else {
  16. b %= a
  17. }
  18. }
  19. return a + b
  20. }
  21.  
  22. func main() {
  23. println(task94(2, 3))
  24. println(task94(4, 12))
  25. }
Add Comment
Please, Sign In to add comment