Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để tìm ra giá của một sản phẩm sau một số ngày

Giả sử, một người muốn mua một sản phẩm với giá x. Nhưng mỗi ngày trôi qua, giá của sản phẩm lại tăng lên gấp lần giá của ngày hôm trước. Chúng ta phải tìm ra giá của sản phẩm sau y ngày kể từ khi người đó quyết định mua sản phẩm. Nếu giá của sản phẩm quá nhiều, thì câu trả lời được đưa ra là mô-đun giá 10 ^ 9 + 7. Đầu vào được đưa ra trong một danh sách các cặp; giá trị đầu tiên của cặp là giá ban đầu x và giá trị thứ hai là y, số ngày đã trôi qua.

Vì vậy, nếu đầu vào giống như nums =[(5, 2), (6, 8), (2, 12), (2722764242812953792238894584, 3486705296791319646759756475), (1505449742164712795427942455727527, 61649494321479438487416, 2546275643841674 4096, 754504594, 32955023

Ở đây đầu ra là 5 ^ 2 =25, 6 ^ 8 =1679616, 2 ^ 12 =4096,2722764242812953792238894584 ^ 3486705296791319646759756475 =754504594 (Giá trị được cung cấp dưới dạng giá trị modulo 10 ^ 9 + 7), v.v.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đối với tôi trong phạm vi từ 0 đến kích thước của nums, hãy thực hiện
    • x, y:=nums [i, 0], nums [i, 1]
    • trả lại giá trị x thành lũy thừa y modulo 10 ^ 9 + 7

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

 def giải quyết (nums):for i in range (len (nums)):x, y =nums [i] [0], nums [i] [1] print (pow (x, y, 1000000007)) giải quyết ([(5, 2), (6, 8), (2, 12), (2722764242812953792238894584, 3486705296791319646759756475), (1505449742164712795427942455727527, 616494943214384874607470564215462743848746074705642154627)) 

Đầu vào

 [(5, 2), (6, 8), (2, 12), (2722764242812953792238894584, 3486705296791319646759756475), (1505449742164712795427942455727527, 61649494321438487460747056421546274264)] 

Đầu ra

 251679616409675450459432955023