Hình vuông và chữ thập

Đề bài

Mô tả

Có một hình vuông cạnh n mét vẽ trên giấy. John Doe đánh dấu các chữ thập trên chu vi hình vuông.

John đánh dấu chữ thập đầu tiên ngay tại góc dưới bên trái của hình vuông. Sau đó John đi dọc chu vi theo chiều kim đồng hồ (đầu tiên lên trên, rồi sang phải, rồi xuống dưới, rồi sang trái, cứ thế tiếp tục). Cứ sau mỗi n+1 mét, John lại đánh dấu thêm một chữ thập.

John chỉ dừng lại khi góc dưới bên trái của hình vuông đã có hai chữ thập (tức là dấu thập đầu tiên trùng với một dấu mới đánh).

Hãy đếm tổng số chữ thập mà John vẽ.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số test (1t104).
  • Dòng thứ hai chứa t số nguyên n1,n2,,nt cách nhau bởi dấu cách — cạnh của hình vuông trong mỗi test (1ni109).

Dữ liệu ra

Với mỗi test, in ra trên một dòng số chữ thập John sẽ vẽ. In các kết quả theo đúng thứ tự test trong input.

Ví dụ

Input Output Giải thích
3
4 8 100
17
33
401
Với n=4: chu vi là 16. John đi mỗi bước 5 mét. Sau 16 bước thì tổng quãng đường là 80 mét — bội của chu vi, John quay lại góc dưới trái. Cộng cả chữ thập đầu tiên là 17.
3
13 17 21
27
35
43
Với n=13: n+1=14, gcd(4,14)=2, đáp án là 4·13/2+1=27.

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