题目:
https://code.mi.com/problem/list/view?id=86
代码:
import sys
import math
for line in sys.stdin:
line = line.strip()
num = int(line)
f1 = f2 = True
if num < 2:
print('Bad')
else:
k = int(math.log(num - 1,2))
if (num - 1) != (1 << k):
f1 = False
k = int(math.log(num + 1, 2))
if (num + 1) != (1 << k):
f2 = False
if f1 and f2:
print('Very Good')
elif f1 and not f2:
print('Good')
elif not f1 and f2:
print('Bad')
else:
print('Normal')
本文介绍了一个算法,用于判断一个数是否为特殊的质数,即该数减一或加一是否为2的幂次方。通过计算对数和位运算,算法能够高效地完成判断,并根据结果将输入数分类为'VeryGood'、'Good'、'Bad'或'Normal'。
483

被折叠的 条评论
为什么被折叠?



