Gấp Thuyền Giấy

Đề bài

Mô tả

Vasya có một tờ giấy hình chữ nhật kích thước a×b mi-li-mét với a>b. Để gấp một chiếc thuyền giấy origami, Vasya luôn lấy ra một mảnh giấy hình vuông từ phần dài của tờ giấy: cắt một hình vuông b×b ra khỏi tờ giấy, gấp thành thuyền. Phần còn lại là một dải hình chữ nhật (ab)×b.

Vasya lặp lại quá trình này với phần giấy còn lại: mỗi bước cắt một hình vuông cạnh bằng cạnh ngắn ra khỏi cạnh dài, gấp thành thuyền, rồi tiếp tục với phần còn lại. Khi đến lúc mảnh giấy còn lại đã là hình vuông, Vasya gấp nốt nó thành chiếc thuyền cuối cùng rồi dừng.

Hãy tính xem Vasya sẽ gấp được bao nhiêu chiếc thuyền.

Dữ liệu vào

Một dòng chứa hai số nguyên ab (1b<a1012) — kích thước ban đầu của tờ giấy.

Dữ liệu ra

In ra một số nguyên duy nhất — tổng số thuyền mà Vasya gấp được.

Ràng buộc

  • 1b<a1012

Ví dụ

Input Output Giải thích
2 1 2 Cắt 1 hình vuông 1×1 ra khỏi tờ 2×1, còn lại 1×1 — cắt nốt. Tổng cộng 2 thuyền.
10 7 6 Tờ 10×7 → 1 vuông 7×7, còn 3×7 → 2 vuông 3×3, còn 1×3 → 3 vuông 1×1. Tổng 1+2+3=6.
1000000000000 1 1000000000000 Mỗi lần chỉ cắt được một hình vuông 1×1, tổng cộng 1012 thuyền.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0