机试

二进制计数

输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。

print(bin(eval(input())).count('1'))

挑七

1.关键字in在字符串的用法
输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37…70,71,72,73…)的个数

num = int(input().strip())
count=0
for i in range(7,num+1):
    if i %7==0 or '7' in str(i):
        count+=1
print(count)

第一次

找出字符串中第一个只出现一次的字符,若不存在输出-1

s=input().strip()
r=-1
for i in s:
    if s.count(i)==1:
        r=i
        break
print(r)

素对差值

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况
要求输出组成指定偶数的两个素数差值最小的素数对

机试题
思路如下:

  1. 求素数
  2. 两个素数最小差值
    关键在于第二点,假定不计素数,二数之和为一定值,那么一定在这二数相等时差值最小。换而言之只需要找到离定值中位数,最近的那个素数对也就找到了答案。

走楼阶

走n阶台阶,每次可以选择走一阶或者走两阶,一共有多少种走法?

n = int(input())
def fn(n):
    if n == 1 or n==2:
        return n
    else:
        total = fn(n-1)+fn(n-2)
    return total

print(fn(n))
本作品采用《CC 协议》,转载必须注明作者和本文链接
pardon110
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
开发者 @ 社科大
文章
134
粉丝
24
喜欢
101
收藏
55
排名:106
访问:8.9 万
私信
所有博文
社区赞助商