猫史档案馆


[S2~通天塔77解析!]

用户:秋葵秋葵查看:0 回复:1 评论:0 创建时间:2018-12-22T15:48:00


这里是通天塔77层

这里是通天塔77层

这里是通天塔77层

收到请回复!

emotion_编程猫_溜了溜了emotion_编程猫_溜了溜了emotion_编程猫_溜了溜了

题目1 国王和骑士

center_image

center_image

分析:

1.获取整数k

2.进行无限循环

3.在循环内进行每次在列表末尾加上值

4.每次while循环前都使得自变量+1,便遍历自变量

5.判断列表长度和k值的大小

6.迭代列表

代码解析:

#获取数据k
k = int(input())
#c为自变量
c = 0
#设置空列表为l
l = []
#设置b为True
b = True
#无限循环
while b:
    #c不断+1
    c += 1
    #遍历c的次数
    for i in range(c):
        #让l末尾加上c
        l.append(c)
        #判断列表长度是否大于k
        if (len(l) >= k):
            #设置b为False
            b = False
            #中断
            break
#打印迭代的数值
print(sum(l))

emotion_编程猫_搓头emotion_编程猫_搓头emotion_编程猫_搓头

题目2:花里胡哨方程组pell

center_image

center_image

分析:

1.导入math库

2.获取整数D

3.开始无限遍历自然数

4.利用开方来判断是否相等

5.打印结果,结束循环

代码解析:

#导入math库,毕竟计算量大
import math
#获取整数输入D
D=int(input())
#设置y值为5
y=5
#设置ok为0
ok=True
#设置number值为0
number=0
#开始无尽之旅
while ok:
    #每次y+1
    y+=1
    #设置number=y的平方
    number=y*y
    #判断二者是否相等(一个是浮点形和整形,如果相等就是开方为整数)
    if math.sqrt(number*D+1)==int(math.sqrt(number*D+1)):
        #打印这两个数停止循环
        print(int(math.sqrt(number*D+1)),int(math.sqrt(number)))
        ok=False

emotion_编程猫_点赞emotion_编程猫_点赞emotion_编程猫_点赞

题目3:递推2.0

center_imagecenter_image

分析:

n=1时 返回3

n=2时 返回7

n=3时 返回17

n=4时 返回41

n=5时 返回99

.....

n=m时 返回(n-1)时*2+(n-2)时

代码解析:

#获取数值
n=int(input())
#定义递归函数
def f(n):
    #如果等于1时
    if n==1:
        #返回3
        return 3
    elif n==2:
        return 7
    elif n==3:
        return 17
    #放回上一个数的两倍+上上个数
    return f(n-1)*2+f(n-2)
#打印
print(f(n))

emotion_编程猫_冷漠emotion_编程猫_冷漠emotion_编程猫_冷漠


回复

上一页1 页 / 共 1下一页
喵队长喵队长

emotion_编程猫_点赞

点赞0


评论