trang chủ / bài tập / perionum

Số tuần hoàn

Đề bài

Mô tả

Một xâu s khác rỗng được gọi là xâu nhị phân nếu nó chỉ gồm các ký tự "0" và "1". Đánh số các ký tự của xâu nhị phân s từ 1 đến độ dài của xâu, ký hiệu ký tự thứ isi.

Xâu nhị phân s có độ dài n được gọi là tuần hoàn nếu tồn tại số nguyên k với 1k<n thoả mãn:

  • k là ước của n;
  • với mọi 1ink ta có si=si+k.

Ví dụ, các xâu "101010" và "11" là tuần hoàn, còn "10" và "10010" thì không.

Một số nguyên dương x được gọi là số tuần hoàn nếu biểu diễn nhị phân của nó (không có số 0 vô nghĩa ở đầu) là một xâu tuần hoàn.

Cho hai số nguyên lr, hãy đếm xem có bao nhiêu số tuần hoàn nằm trong đoạn [l,r].

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên lr, cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất là số lượng số tuần hoàn trong đoạn [l,r].

Ràng buộc

  • 1lr1018

Ví dụ

Input Output Giải thích
1 10 3 Các số tuần hoàn là 3=112 (chu kỳ k=1), 7=1112 (chu kỳ k=1) và 10=10102 (chu kỳ k=2).
25 38 2 Các số tuần hoàn là 31=111112 (chu kỳ k=1) và 36=1001002 (chu kỳ k=3). Số 34=1000102 không tuần hoàn vì k=3 cho 100010k=2 cho 1000.

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.47 awk 1.3.4 gcc 16.2.0 csc 6.12.0.200 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 kotlinc 2.4.10 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0