机试
二进制计数#
输入一个 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 个素数有很多种情况
要求输出组成指定偶数的两个素数差值最小的素数对
思路如下:
- 求素数
- 两个素数最小差值
关键在于第二点,假定不计素数,二数之和为一定值,那么一定在这二数相等时差值最小。换而言之只需要找到离定值中位数,最近的那个素数对也就找到了答案。
走楼阶#
走 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 协议》,转载必须注明作者和本文链接