Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาตัวเลขสุดท้ายของลำดับที่กำหนดสำหรับ n ที่กำหนดใน Python


สมมติว่าเรามีค่า n เราต้องหาตัวเลขสุดท้ายของลำดับ S สมการของ S แสดงไว้ด้านล่าง −

$$\sum_{i=0\:2^{^{i}}\leqslant n}^{\alpha } \sum_{j=0}^{n} 2^{2^{^{i}+2j }}$$

ดังนั้น หากอินพุตเป็นเหมือน n =2 ผลลัพธ์จะเป็น 6 เพราะ:ที่นี่มีเพียง i =0 และฉันถูกต้อง ดังนั้น

  • S0 =2^(2^0 + 0) + 2^(2^0 + 2) + 2^(2^0 + 4) =42
  • 1 =2^(2^1 + 0) + 2^(2^1 + 2) + 2^(2^1 + 4) =84 ผลรวมคือ 42+84 =126 ดังนั้นหลักสุดท้ายคือ 6

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • รวม:=0
  • อุณหภูมิ :=1
  • ในขณะที่อุณหภูมิ <=n ทำ
    • ผลรวม :=รวม + (2^อุณหภูมิ mod 10)
      • อุณหภูมิ :=อุณหภูมิ * 2
    • ผลรวม :=ทั้งหมด * (1 +(4 เมื่อ n เป็นเลขคี่ 0)) mod 10
  • ผลตอบแทนรวม

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

def solve(n):
   total= 0
   temp = 1
   while (temp <= n):
      total += pow(2, temp, 10)
      temp *= 2
   total = total * (1 + (4 if n %2 ==1 else 0)) % 10
   return total

n = 2
print(solve(n))

อินพุต

2

ผลลัพธ์

6