1.求1到N的和
本题要求编写程序,计算序列 1 + 2 + 3 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,请注意等号的左右各有一个空格。题目保证计算结果不超过长整型整数的范围。
代码如下:
n=int(input())
S=sum(list(range(n+1)))
print('sum =',S)
2.求S=a+aa+aaa+…+aa…a之值
输入格式:
测试数据有多组,处理到文件尾。每组输入n和a。
输出格式:
每组输出a+aa+aaa+…+aa…a(n个a)之值
代码如下:
while True:
try:
n,a=input().split()
a=int(a)
n=int(n)
sum=0
i=0
temp=0
while(i<n):
temp=temp*10+a
sum=sum+temp
i=i+1
print("%d"%sum)
except:
break
3.逆序的三位数
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
代码如下:
a = input()
print(int(a[::-1]))
4.生成3的乘方表
输入一个非负整数n,生成一张3的乘方表,输出30~3n的值。可调用幂函数计算3的乘方。
输入格式:
输入在一行中给出一个非负整数n。
输出格式:
按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。
m = int(input())
for i in range(m+1):
print("pow(3,{:d}) = {:d}".format(i, 3**i))
5.求分数序列前N项和
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
代码如下:
def f(n):
a = 2
b = 1
c = 1
while n>=2:
c = a+b
b = a
a = c
n -= 1
return a/b
n = int(input())
sum = 0
for i in range(1,n+1):
sum +=f(i)
print("{:.2f}".format(sum))
6.最大公约数和最小公倍数
本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
代码如下:
def gcd(a,b):
if a%b == 0:
return b
else :
return gcd(b,a%b)
n , m = input().split()
n = int(n)
m = int(m)
print('{:d} {:d}'.format(gcd(n,m),n*m//gcd(n,m)))
7.猴子吃桃问题
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?
输入格式:
输入在一行中给出正整数N(1<N≤10)。
输出格式:
在一行中输出第一天共摘了多少个桃子。
代码如下:
m = int(input())
ans = 1
for i in range(1, m):
ans = (ans + 1) * 2
print(ans)
8.求N的阶乘
本题要求编写程序,计算N的阶乘。
输入格式:
输入在一行中给出一个非负整数N(0≤N≤21)。
输出格式:
在一行中按照“product = F”的格式输出阶乘的值F,请注意等号的左右各有一个空格。题目保证计算结果不超过双精度范围。
代码如下:
x = int(input())
a = 1
for i in range(1, x+1):
a = a*i
print("product = %d" % float(a))
9. jmu-python-偶数之积
求1到n中所有偶数的积。
输入格式:
输入整数n。
输出格式:
1到n中偶数积。
代码如下:
n=int(input())
s=1
for i in range(2,n+1,2):
s*=i
print(s)
10.统计指定数量学生的平均成绩与不及格人数
本题要求编写程序,计算学生们的平均成绩,并统计不及格(成绩低于60分)的人数。题目保证输入与输出均在双精度范围内。
输入格式:
输入在第一行中给出非负整数n
,即学生人数。第二行给出n
个非负实数,即这n
位学生的成绩,其间以空格分隔。
输出格式:
average = 成绩均值
count = 不及格人数
其中平均值精确到小数点后两位,等号的左右各有一个空格。
代码如下:
n = int(input())
sum = 0
count = 0
average = 0
if n != 0:
grade = input().split()
grade = grade[:n]
for i in grade:
sum += int(i)
if int(i) < 60:
count += 1
average = sum / n
print("average = %.2f" % average)
print("count =", count)