1.角谷猜想—题目描述
对于任意一个正整数,如果是奇数,则乘 3 加 1,如果是偶数,则除以 2,得到的结果再按照上述规则重复处理,最终总能够得到 1。如,假定初始整数为 5,计算过程分别为 16 、8 、4 、2 、1。
输入格式
一个正整数 N。
输出格式
要求输入一个整数,将经过处理得到 1的过程输出来。每一步为一行,最后一行输出 End
。如果输入为1,直接输出 End
。
n=int(input())
while n!=1:
if n%2==1:
print("%d*3+1=%d"%(n,n*3+1))
n=n*3+1
else:
print("%d/2=%d"%(n,n/2))
n=n/2
print("End")
解析;
- 主要是n递减,所以用while循环判断n.
- 判断为奇数还是偶数,根据对应算法计算结果并输出过程。
2.含 k 个 3 的数—题目描述
输入两个正整数 m和 k,,判断 m是否恰好含有 k个 3,如果满足条件,则输出 YES
,否则,输出 NO
。
输入格式
输入一行,为两个整数 m,k,中间用单个空格间隔。
输出格式
满足条件,则输出 YES
,否则,输出 NO
。
m,k=input().split()
m=int(m)
k=int(k)
i=0
while m>10:
t=m%10
if t==3:
i=i+1
m=int(m/10)
else:
m=int(m/10)
if m==3:
i=i+1
if i==k:
print("YES")
else:
print("NO")
解析:
- 判断m中含3的个数,所以依次除以10取余判断,取余后除以10取整去掉末位.
- 当m<10时,即为最后一位,单独判断是否为3。
- 最后判断输出对应结果。
最近有点忙,快赶不上每天发的进度啦┭﹏┭