【实验吧】编程循环&&求底运算

要好好学写脚本!!!

循环:

题目介绍

 给出一个循环公式,对于一个整数n,当n为奇数时,n=3n+1,当n为偶数时,n=n/2,如此循环下去直到n=1时停止。

现要求对两个整数i = 900、j = 1000,输出i、j之间(包括i、j)的所有数进行上述循环时的最大循环次数(包括n和1)。

格式:CTF{xxx} 

 脚本:

 #-*-coding:utf-8-*-
  #博客园 hell0_w
  
def panduan(n):
      if n % 2 == 1:
          n = 3 * n + 1
      else:
          n = n / 2
      return n
 
def cishu(n):
     num = 0
     while n != 1:
         num = num + 1
         n = panduan(n)
     return num + 1    #加上判断n是否为1的次数
 
list=[]
for i in range(900,1001):
    num=cishu(i)
    list.append(num)
print max(list)

 求底运算:

题目介绍:

  已知K ^ N = P, 给定N为7,和P为4357186184021382204544,求K。

Flag格式:CTF{xxx} 

 脚本:

for k in range(1,10000):
    p=k**7

    if(p==4357186184021382204544):
        print k
        break

 

posted @ 2017-11-04 09:27  S_s_s  阅读(74)  评论(0编辑  收藏