第一题:奇数之和
题目描述:求1到100之间所有奇数的和。
解题思路:我们可以通过循环遍历1到100的每一个数,判断它是否为奇数,如果是,则累加到总和中。
代码示例:
total_sum = 0
for i in range(1, 101, 2):
total_sum += i
print(total_sum)
答案解析:运行上述代码,我们可以得到1到100之间所有奇数的和为2500。
第二题:斐波那契数列
题目描述:求斐波那契数列的前10项。
解题思路:斐波那契数列定义为:第0项是0,第1项是1,从第2项开始,每一项都是前两项的和。
代码示例:
fibonacci = [0, 1]
for i in range(2, 10):
fibonacci.append(fibonacci[i-1] + fibonacci[i-2])
print(fibonacci)
答案解析:运行上述代码,我们可以得到斐波那契数列的前10项为[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]。
第三题:最大公约数
题目描述:求两个正整数24和36的最大公约数。
解题思路:我们可以使用辗转相除法来求解最大公约数。
代码示例:
def gcd(a, b):
while b:
a, b = b, a % b
return a
print(gcd(24, 36))
答案解析:运行上述代码,我们可以得到24和36的最大公约数为12。
第四题:最小公倍数
题目描述:求两个正整数24和36的最小公倍数。
解题思路:最小公倍数等于两数乘积除以它们的最大公约数。
代码示例:
def lcm(a, b):
return a * b // gcd(a, b)
print(lcm(24, 36))
答案解析:运行上述代码,我们可以得到24和36的最小公倍数为72。
第五题:阶乘计算
题目描述:求5的阶乘。
解题思路:阶乘定义为n! = n * (n-1) * (n-2) * … * 1。
代码示例:
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
print(factorial(5))
答案解析:运行上述代码,我们可以得到5的阶乘为120。
第六题:素数判断
题目描述:判断一个数是否为素数。
解题思路:素数定义为只能被1和自身整除的大于1的自然数。
代码示例:
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
print(is_prime(29))
答案解析:运行上述代码,我们可以得到29是一个素数。
第七题:逆序排列
题目描述:将一个整数12345逆序排列。
解题思路:我们可以通过循环遍历整数的每一位,将其添加到一个新的整数中,实现逆序排列。
代码示例:
def reverse_number(n):
reversed_num = 0
while n > 0:
reversed_num = reversed_num * 10 + n % 10
n //= 10
return reversed_num
print(reverse_number(12345))
答案解析:运行上述代码,我们可以得到12345逆序排列后的结果为54321。
第八题:判断水仙花数
题目描述:判断一个数是否为水仙花数。
解题思路:水仙花数定义为:一个n位数,它的各位数字的n次幂之和等于它本身。
代码示例:
def is_narcissistic_number(n):
digits = [int(d) for d in str(n)]
num_digits = len(digits)
return sum(d ** num_digits for d in digits) == n
print(is_narcissistic_number(153))
答案解析:运行上述代码,我们可以得到153是一个水仙花数。
第九题:求勾股数
题目描述:求出所有满足勾股定理的勾股数。
解题思路:勾股定理定义为:直角三角形的两条直角边的平方和等于斜边的平方。
代码示例:
def find_pythagorean_triples():
triples = []
for a in range(1, 100):
for b in range(a, 100):
c = (a**2 + b**2)**0.5
if c.is_integer():
triples.append((a, b, int(c)))
return triples
print(find_pythagorean_triples())
答案解析:运行上述代码,我们可以得到一些满足勾股定理的勾股数,例如(3, 4, 5)、(5, 12, 13)等。
第十题:求最大公约数和最小公倍数
题目描述:求两个正整数12和18的最大公约数和最小公倍数。
解题思路:最大公约数和最小公倍数的求解方法已在前面题目中介绍。
代码示例:
print(gcd(12, 18))
print(lcm(12, 18))
答案解析:运行上述代码,我们可以得到12和18的最大公约数为6,最小公倍数为36。
第十一题:求阶乘
题目描述:求7的阶乘。
解题思路:阶乘的求解方法已在前面题目中介绍。
代码示例:
print(factorial(7))
答案解析:运行上述代码,我们可以得到7的阶乘为5040。
第十二题:判断素数
题目描述:判断一个数是否为素数。
解题思路:素数的判断方法已在前面题目中介绍。
代码示例:
print(is_prime(29))
答案解析:运行上述代码,我们可以得到29是一个素数。
第十三题:逆序排列
题目描述:将一个整数789逆序排列。
解题思路:逆序排列的求解方法已在前面题目中介绍。
代码示例:
print(reverse_number(789))
答案解析:运行上述代码,我们可以得到789逆序排列后的结果为987。
第十四题:判断水仙花数
题目描述:判断一个数是否为水仙花数。
解题思路:水仙花数的判断方法已在前面题目中介绍。
代码示例:
print(is_narcissistic_number(1634))
答案解析:运行上述代码,我们可以得到1634是一个水仙花数。
第十五题:求勾股数
题目描述:求出所有满足勾股定理的勾股数。
解题思路:勾股数的求解方法已在前面题目中介绍。
代码示例:
print(find_pythagorean_triples())
答案解析:运行上述代码,我们可以得到一些满足勾股定理的勾股数,例如(3, 4, 5)、(5, 12, 13)等。
第十六题:求最大公约数和最小公倍数
题目描述:求两个正整数30和45的最大公约数和最小公倍数。
解题思路:最大公约数和最小公倍数的求解方法已在前面题目中介绍。
代码示例:
print(gcd(30, 45))
print(lcm(30, 45))
答案解析:运行上述代码,我们可以得到30和45的最大公约数为15,最小公倍数为90。
第十七题:求阶乘
题目描述:求8的阶乘。
解题思路:阶乘的求解方法已在前面题目中介绍。
代码示例:
print(factorial(8))
答案解析:运行上述代码,我们可以得到8的阶乘为40320。
第十八题:判断素数
题目描述:判断一个数是否为素数。
解题思路:素数的判断方法已在前面题目中介绍。
代码示例:
print(is_prime(97))
答案解析:运行上述代码,我们可以得到97是一个素数。
第十九题:逆序排列
题目描述:将一个整数456逆序排列。
解题思路:逆序排列的求解方法已在前面题目中介绍。
代码示例:
print(reverse_number(456))
答案解析:运行上述代码,我们可以得到456逆序排列后的结果为654。
第二十题:判断水仙花数
题目描述:判断一个数是否为水仙花数。
解题思路:水仙花数的判断方法已在前面题目中介绍。
代码示例:
print(is_narcissistic_number(9474))
答案解析:运行上述代码,我们可以得到9474是一个水仙花数。
第二十一题:求勾股数
题目描述:求出所有满足勾股定理的勾股数。
解题思路:勾股数的求解方法已在前面题目中介绍。
代码示例:
print(find_pythagorean_triples())
答案解析:运行上述代码,我们可以得到一些满足勾股定理的勾股数,例如(3, 4, 5)、(5, 12, 13)等。
第二十二题:求最大公约数和最小公倍数
题目描述:求两个正整数20和60的最大公约数和最小公倍数。
解题思路:最大公约数和最小公倍数的求解方法已在前面题目中介绍。
代码示例:
print(gcd(20, 60))
print(lcm(20, 60))
答案解析:运行上述代码,我们可以得到20和60的最大公约数为20,最小公倍数为60。
第二十三题:求阶乘
题目描述:求9的阶乘。
解题思路:阶乘的求解方法已在前面题目中介绍。
代码示例:
print(factorial(9))
答案解析:运行上述代码,我们可以得到9的阶乘为362880。
第二十四题:判断素数
题目描述:判断一个数是否为素数。
解题思路:素数的判断方法已在前面题目中介绍。
代码示例:
print(is_prime(101))
答案解析:运行上述代码,我们可以得到101是一个素数。
第二十五题:逆序排列
题目描述:将一个整数123456逆序排列。
解题思路:逆序排列的求解方法已在前面题目中介绍。
代码示例:
print(reverse_number(123456))
答案解析:运行上述代码,我们可以得到123456逆序排列后的结果为654321。
第二十六题:判断水仙花数
题目描述:判断一个数是否为水仙花数。
解题思路:水仙花数的判断方法已在前面题目中介绍。
代码示例:
print(is_narcissistic_number(1634))
答案解析:运行上述代码,我们可以得到1634是一个水仙花数。
第二十七题:求勾股数
题目描述:求出所有满足勾股定理的勾股数。
解题思路:勾股数的求解方法已在前面题目中介绍。
代码示例:
print(find_pythagorean_triples())
答案解析:运行上述代码,我们可以得到一些满足勾股定理的勾股数,例如(3, 4, 5)、(5, 12, 13)等。
第二十八题:求最大公约数和最小公倍数
题目描述:求两个正整数25和75的最大公约数和最小公倍数。
解题思路:最大公约数和最小公倍数的求解方法已在前面题目中介绍。
代码示例:
print(gcd(25, 75))
print(lcm(25, 75))
答案解析:运行上述代码,我们可以得到25和75的最大公约数为25,最小公倍数为75。
第二十九题:求阶乘
题目描述:求10的阶乘。
解题思路:阶乘的求解方法已在前面题目中介绍。
代码示例:
print(factorial(10))
答案解析:运行上述代码,我们可以得到10的阶乘为3628800。
第三十题:判断素数
题目描述:判断一个数是否为素数。
解题思路:素数的判断方法已在前面题目中介绍。
代码示例:
print(is_prime(103))
答案解析:运行上述代码,我们可以得到103是一个素数。
第三十一题:逆序排列
题目描述:将一个整数987654321逆序排列。
解题思路:逆序排列的求解方法已在前面题目中介绍。
代码示例:
print(reverse_number(987654321))
答案解析:运行上述代码,我们可以得到987654321逆序排列后的结果为123456789。
第三十二题:判断水仙花数
题目描述:判断一个数是否为水仙花数。
解题思路:水仙花数的判断方法已在前面题目中介绍。
代码示例:
print(is_narcissistic_number(9474))
答案解析:运行上述代码,我们可以得到9474是一个水仙花数。
第三十三题:求勾股数
题目描述:求出所有满足勾股定理的勾股数。
解题思路:勾股数的求解方法已在前面题目中介绍。
代码示例:
print(find_pythagorean_triples())
答案解析:运行上述代码,我们可以得到一些满足勾股定理的勾股数,例如(3, 4, 5)、(5, 12, 13)等。
第三十四题:求最大公约数和最小公倍数
题目描述:求两个正整数40和80的最大公约数和最小公倍数。
解题思路:最大公约数和最小公倍数的求解方法已在前面题目中介绍。
代码示例:
print(gcd(40, 80))
print(lcm(40, 80))
答案解析:运行上述代码,我们可以得到40和80的最大公约数为40,最小公倍数为80。
第三十五题:求阶乘
题目描述:求11的阶乘。
解题思路:阶乘的求解方法已在前面题目中介绍。
代码示例:
print(factorial(11))
答案解析:运行上述代码,我们可以得到11的阶乘为39916800。
第三十六题:判断素数
题目描述:判断一个数是否为素数。
解题思路:素数的判断方法已在前面题目中介绍。
代码示例:
print(is_prime(107))
答案解析:运行上述代码,我们可以得到107是一个素数。
第三十七题:逆序排列
题目描述:将一个整数1234567890逆序排列。
解题思路:逆序排列的求解方法已在前面题目中介绍。
代码示例:
print(reverse_number(1234567890))
答案解析:运行上述代码,我们可以得到1234567890逆序排列后的结果为9876543210。
第三十八题:判断水仙花数
题目描述:判断一个数是否为水仙花数。
解题思路:水仙花数的判断方法已在前面题目中介绍。
代码示例:
print(is_narcissistic_number(1634))
答案解析:运行上述代码,我们可以得到1634是一个水仙花数。
第三十九题:求勾股数
题目描述:求出所有满足勾股定理的勾股数。
解题思路:勾股数的求解方法已在前面题目中介绍。
代码示例:
print(find_pythagorean_triples())
答案解析:运行上述代码,我们可以得到一些满足勾股定理的勾股数,例如(3, 4, 5)、(5, 12, 13)等。
第四十题:求最大公约数和最小公倍数
题目描述:求两个正整数50和100的最大公约数和最小公倍数。
解题思路:最大公约数和最小公倍数的求解方法已在前面题目中介绍。
代码示例:
print(gcd(50, 100))
print(lcm(50, 100))
答案解析:运行上述代码,我们可以得到50和100的最大公约数为50,最小公倍数为100。
第四十一题:求阶乘
题目描述:求12的阶乘。
解题思路:阶乘的求解方法已在前面题目中介绍。
代码示例:
print(factorial(12))
答案解析:运行上述代码,我们可以得到12的阶乘为479001600。
