【实验吧】编程循环&&求底运算
要好好学写脚本!!!
循环:
题目介绍
给出一个循环公式,对于一个整数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