机试
二进制计数
输入一个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 协议》,转载必须注明作者和本文链接