trang chủ / đề bài / dhbb14_func

Tính hàm

Đề bài

Mô tả

Dãy Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng hai phần tử 1 và 1, các phần tử sau đó được thiết lập theo quy tắc mỗi phần tử bằng tổng hai phần tử trước nó. Công thức truy hồi của dãy Fibonacci như sau:

Fibonacci(n)={1nếu n=11nếu n=2Fibonacci(n−1)+Fibonacci(n−2)nếu n>2

Xét hàm f(x,y) sau:

f(x,y)={ynếu x=0xnếu y=0α×f(x−1,y)+β×f(x,y−1)+g(x,y)nếu x≠0 và y≠0

Trong đó, g(x,y) là ước số chung lớn nhất của Fibonacci(x) và Fibonacci(y).

Yêu cầu: Cho 4 số nguyên không âm x,y,α,β và số nguyên dương B, hãy tính f(x,y)modB (phần dư của f(x,y) khi chia cho B, kể cả khi x=0 hoặc y=0).

Dữ liệu vào

  • Dòng đầu tiên ghi số nguyên dương K là số lượng bộ dữ liệu.
  • Tiếp đến là K dòng, mỗi dòng chứa 5 số nguyên x,y,α,β,B tương ứng với một bộ dữ liệu.

Các số trên cùng một dòng được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra

Gồm K dòng, mỗi dòng ghi một số nguyên là giá trị f(x,y)modB tính được tương ứng với bộ dữ liệu.

Ràng buộc

  • 1≤K≤10.
  • 0≤x,y≤500.
  • 0≤α,β≤1018; 1≤B≤1018.

Subtasks

  • Subtask 1 (20 điểm): x,y≤10; α,β,B≤106.
  • Subtask 2 (20 điểm): x,y≤50; α,β,B≤109.
  • Subtask 3 (15 điểm): x,y≤50; α,β,B≤1018.
  • Subtask 4 (15 điểm): x,y≤500; α,β,B≤1018.

Ví dụ

Input Output Giải thích
3
0 10 1 1 100
10 0 1 1 100
1 1 1 1 100
10
10
3
f(0,10)=10, f(10,0)=10. f(1,1)=1×f(0,1)+1×f(1,0)+g(1,1)=1+1+1=3.
3
1 2 2 3 1000
5 5 0 0 7
0 10 5 5 7
23
5
3
Ví dụ bổ sung. f(1,1)=2×1+3×1+1=6, nên f(1,2)=2×f(0,2)+3×f(1,1)+g(1,2)=4+18+1=23. Với α=β=0: f(5,5)=g(5,5)=Fibonacci(5)=5. f(0,10)=10 và 10mod7=3.

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