文章目录
一、特殊年份(模拟)
今年是 2021 年,2021 这个数字非常特殊,它的千位和十位相等,个位比百位大 1,我们称满足这样条件的年份为特殊年份。
输入 5 个年份,请计算这里面有多少个特殊年份。
输入格式
输入 5 行,每行一个 4 位十进制数(数值范围为 1000 至 9999),表示一个年份。
输出格式
输出一个整数,表示输入的 5 个年份中有多少个特殊年份。
输入样例:
2019
2021
1920
2120
9899
输出样例:
2
样例解释
2021 和 9899 是特殊年份,其它不是特殊年份。
# 快乐AC
cnt = 0
for i in range(5):
i = int(input())
thousand = i // 1000
hundred = i // 100 % 10
ten = i // 10 % 10
one = i % 10
if thousand == ten and (one - hundred) == 1:
cnt += 1
print(cnt)
二、小平方(模拟)
小蓝发现,对于一个正整数 n 和一个小于 n 的正整数 v,将 v 平方后对 n 取余可能小于 n 的一半,也可能大于等于 n 的一半。
请问,在 1 到 n−1 中,有多少个数平方后除以 n 的余数小于 n 的一半。
例如,当 n=4 时,1,2,3 的平方除以 4 的余数都小于 4 的一半。
又如,当 n=5 时,1,4 的平方除以 5 的余数都是 1,小于 5 的一半。
而 2,3 的平方除以 5 的余数都是 4,大于等于 5 的一半。
输入格式
输入一行包含一个整数 n。
输出格式
输出一个整数,表示满足条件的数的数量。
数据范围
1≤n≤10000
输入样例:
5
输出样例:
2
# 模拟
n = int(input())
cnt = 0
for i in range(1,n):
if ((i**2) % n) < (n / 2):
cnt += 1
print(cnt)
三、完全平方数(数论)
一个整数 a 是一个完全平方数,是指它是某一个整数的平方,即存在一个整数 b,使得 a=b2。
给定一个正整数 n,请找到最小的正整数 x,使得它们的乘积是一个完全平方数。
输入格式
输入一行包含一个正整数 n。
输出格式
输出找到的最小的正整数 x。
数据范围
对于 30% 的评测用例,1≤n≤1000,答案不超过 1000。
对于 60% 的评测用例,1≤n≤108,答案不超过 108。
对于所有评测用例,1≤n≤1012,答案不超过 1012。
输入样例1:
12
输出样例1:
3
输入样例2:
15
输出样例2:
15
过了一半测试样例
n = int(input())
for i in range(1,n+1):
if (n*i)**0.5 == int((n*i)**0.5):
print(i)
break