trang chủ / đề bài / fstdigit

Định luật chữ số đầu

Đề bài

Mô tả

Định luật Benford phát biểu rằng trong nhiều bộ số lấy từ thực tế, các số có chữ số đầu tiên (chữ số có nghĩa lớn nhất) bằng 1 xuất hiện nhiều hơn hẳn so với các chữ số khác. Ta sẽ kiểm chứng ý tưởng này trên một mô hình xác suất cụ thể.

Cho N biến ngẫu nhiên độc lập. Biến thứ i nhận giá trị là một số nguyên bất kỳ trong đoạn [Li;Ri], mỗi giá trị trong đoạn có cùng xác suất 1Ri−Li+1.

Xét một bộ giá trị cụ thể của N biến này. Ta đếm xem có bao nhiêu giá trị trong bộ có chữ số đầu tiên bằng 1. Nếu số lượng đó chiếm ít nhất K% trong tổng số N giá trị thì bộ giá trị được gọi là tốt.

Hãy tính xác suất để bộ giá trị của N biến ngẫu nhiên đã cho là một bộ tốt.

Dữ liệu vào

  • Dòng đầu chứa số nguyên N là số lượng biến ngẫu nhiên.
  • N dòng tiếp theo, dòng thứ i chứa hai số nguyên Li và Ri mô tả biến ngẫu nhiên thứ i.
  • Dòng cuối chứa số nguyên K.

Dữ liệu ra

In ra xác suất cần tìm. Kết quả được chấp nhận nếu sai số tuyệt đối hoặc sai số tương đối so với đáp án đúng không vượt quá 10−9.

Ràng buộc

  • 1≤N≤1000
  • 1≤Li≤Ri≤1018
  • 0≤K≤100

Ví dụ

Input Output Giải thích
1
1 2
50
0.500000000000000 Chỉ có một biến, nhận giá trị 1 hoặc 2 với xác suất bằng nhau. Cần ít nhất 50% trong 1 giá trị có chữ số đầu bằng 1, tức là cần đúng 1 giá trị. Điều này xảy ra khi biến nhận giá trị 1, xác suất 12.
2
1 2
9 11
50
0.833333333333333 Biến thứ nhất có chữ số đầu bằng 1 với xác suất 12 (giá trị 1). Biến thứ hai nhận 9, 10, 11 nên có chữ số đầu bằng 1 với xác suất 23. Cần ít nhất 1 trong 2 giá trị đạt yêu cầu, xác suất là 1−12·13=56.

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 dotnet 10.0.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0