题目 1010: [编程入门]利润计算
时间限制: 1Sec 内存限制: 128MB 提交: 18739 解决: 12971
题目描述
企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;
利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;
200000<I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成;
400000<I≤600000元时,高于400000元的部分按3%提成;
600000<I≤1000000时,高于600000元的部分按1.5%提成;
I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。
输入
一个整数,当月利润。
输出
一个整数,奖金。
样例输入
900
样例输出
90
profit=[0,100000,200000,400000,600000,1000000]
rate = [0.1,0.075,0.05,0.03,0.015,0.01]
income=int(input()) #输入利润,整数
i=1 #python不支持i++
j=1
summer=0
while profit[i]<income:
summer=summer+(profit[i]-profit[i-1])*rate[j-1]
i+=1
j+=1
summer+=(income-profit[i-1])*rate[j-1] #计算最大分段后多余部分
print(int(summer))
题目 1011: [编程入门]最大公约数与最小公倍数
时间限制: 1Sec 内存限制: 128MB 提交: 21046 解决: 12512
题目描述
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入
两个整数
输出
最大公约数,最小公倍数
样例输入
5 7
样例输出
1 35
li = list(map(int,input().strip().split()))
a = li[0]
b = li[1]
for i in range(min(a,b),0,-1):
if a%i==0 and b%i==0:
max_num = i
break
for i in range(max(a,b),a*b+1):
if i%a==0 and i%b==0:
min_num = i
break
print(max_num,min_num)
题目 1012: [编程入门]字符串分类统计
时间限制: 1Sec 内存限制: 128MB 提交: 20491 解决: 10915
题目描述
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
输入
一行字符
输出
统计值
样例输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.’;123
样例输出
23 16 2 4
li = input()
char_num = 0
int_num = 0
tem_num = 0
oth_num= 0
for i in li:
if i.isalpha():
char_num+=1
elif i.isdigit():
int_num+=1
elif i.isspace():
tem_num+=1
else:
oth_num+=1
print(char_num,int_num,tem_num,oth_num)
题目 1013: [编程入门]Sn的公式求和
时间限制: 1Sec 内存限制: 128MB 提交: 16306 解决: 11558
题目描述
求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。
输入
n
输出
Sn的值
样例输入
5
样例输出
24690
n = eval(input())
ac = 0
d = 2
for i in range(n,0,-1):
ac+=d*i
d*=10
print(ac)
题目 1014: [编程入门]阶乘求和
时间限制: 1Sec 内存限制: 128MB 提交: 44084 解决: 10272
题目描述
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。
输入
n
输出
Sn的值
样例输入
5
样例输出
153
n = eval(input())
sn=0
jc=1
for i in range(1,n+1):
jc*=i
sn+=jc
print(sn)
题目 1015: [编程入门]求和训练
时间限制: 1Sec 内存限制: 128MB 提交: 16819 解决: 10597
题目描述
求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和
输入
a b c
输出
1+2+…+a + 12+22+…+b^2 + 1/1+1/2+…+1/c
样例输入
100 50 10
样例输出
47977.93
z=input().split()
a=int(z[0])
b=int(z[1])
c=int(z[2])
def lj(n):
if n==0:
return 0
else:
return n+lj(n-1)
def pfh(n):
if n==0:
return 0
else:
return n**2+pfh(n-1)
def dsh(n):
if n==1:
return 1
else:
return (float)(1/n+dsh(n-1))
print('%.2f'%(lj(a)+pfh(b)+dsh(c)))
题目 1016: [编程入门]水仙花数判断
时间限制: 1Sec 内存限制: 128MB 提交: 16896 解决: 11950
题目描述
打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=13+53+3^3。
输入
无
输出
输出每一个水仙花数,一个数占一行
样例输入
无
样例输出
无
for i in range(100,1000):
a=int(str(i)[0])
b=int(str(i)[1])
c=int(str(i)[2])
if a*a*a+b*b*b+c*c*c == i:
print(i)
题目 1017: [编程入门]完数的判断
时间限制: 1Sec 内存限制: 128MB 提交: 17317 解决: 8580
题目描述
一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子
输入
N
输出
? its factors are ? ? ?
样例输入
1000
样例输出
6 its factors are 1 2 3
28 its factors are 1 2 4 7 14
496 its factors are 1 2 4 8 16 31 62 124 248
def fun(n):
ys = [1]
sums = 1
for i in range(2,int(pow(n,0.5))+1):
if n%i == 0:
ys.append(i)
ys.append(int(n/i))
sums+=i+int(n/i)
if sums==n:
ys.sort()
print("{} its factors are ".format(n),end="")
for i in ys:
print(i,end=" ")
print()
n = eval(input())
for x in range(2,n):
fun(x)
题目 1018: [编程入门]有规律的数列求和
时间限制: 1Sec 内存限制: 128MB 提交: 13816 解决: 9715
题目描述
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13… 求出这个数列的前N项之和,保留两位小数。
输入
N
输出
数列前N项和
样例输入
10
样例输出
16.48
n = eval(input())
lis = [1,2]
if n >=3:
ans = 2/1+3/2
for i in range(2,n):
lis.append(lis[i-2]+lis[i-1])
ans+=(lis[i-1]+lis[i])/lis[i]
elif n==1:
ans=2/1
else:
ans=2/1+3/2
print("%.2f"%ans)
题目 1019: [编程入门]自由下落的距离计算
时间限制: 1Sec 内存限制: 128MB 提交: 15461 解决: 9310
题目描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数
输入
M N
输出
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行
样例输入
1000 5
样例输出
31.25 2875.00
M,N=map(int,input().strip().split())
total_meter_num=0
for i in range(N):
now_high=M/2
total_meter_num=total_meter_num+M+now_high
M/=2
print("%.2f %.2f"%(now_high,total_meter_num-now_high))
题目 1020: [编程入门]猴子吃桃的问题
时间限制: 1Sec 内存限制: 128MB 提交: 13749 解决: 9567
题目描述
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
输入
N
输出
桃子总数
样例输入
10
样例输出
1534
n = eval(input())
m=1
for i in range(0,n-1):
m=2*(m+1)
print(m)