機試題

pardon110發表於2020-04-26

二進位制計數

輸入一個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. 兩個素數最小差值
    關鍵在於第二點,假定不計素數,二數之和為一定值,那麼一定在這二數相等時差值最小。換而言之只需要找到離定值中位數,最近的那個素數對也就找到了答案。
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章