1.输入两个整数a(大于等于1且小于等于9)和n(大于等于1且小于等于80),编程求得并输出下
面等式的值
s=input()
ns=s.split()
a=ns[0]
n=ns[1]
lst=[]
for i in range(1,int(n)+1):
lst.append(a*i)
lst.reverse()
sum=int(lst[0])
for j in lst[1:]:
sum-=int(j)
print(sum)
2.
编写一个程序,以2位数字X,Y作为输入,生成一个二维列表。列表的第i行和第j列中的元素值是i*j。
注意:i= 0,1 . .,X - 1; j = 0, 1,..,Y-1
x,y=eval(input())
lst=[]
lst1=[]
for i in range(x):
for j in range(y):
lst1.append(i*j)
lst.append(lst1)
lst1=[]
print(lst)
3.假设电话号码的模式为:3个数字,一个短横线,4个数字,一个短横线和4个数字。如:186-7123-4567。编写程序,用以检查输入的字符串是否匹配电话号码模式,若匹配返回True,否则返回False
s=input()
n1=s[0:3]
n2=s[3]
n3=s[4:8]
n4=s[8]
n5=s[9:13]
if n1.isdigit() and n2=="-" and n3.isdigit() and n4=="-" and n5.isdigit():
print(True)
else:
print(False)
4.证明在偶数n以内,歌德巴赫猜想是成立的。歌德巴赫猜想是:任何一个充分大的偶数都可以表示为两个素数之和。例如,4=2+2 6=3+3 8=3+5 50=3+47
def is_sushu(a):
for i in range(2,a):
if a % i == 0:
return False
else:
return True
n=int(input())
for i in range(4,n+1,2):
for j in range(2,i):
if is_sushu(j)==True and is_sushu(i-j)==True and j <= (i-j):
print(f"{i}={j}+{i-j}")
'字符串模板'
break
5.求整数n以内(含n)的全部亲密数。
说明:如果正整数A的全部因子(包括1,不包括A本身)之和等于B;且正整数B的全部因子(包括1,不包括B本身)之和等于A,A不等于B,则将正整数A和B称为亲密数。
1不和其他数形成亲密数。
编写函数sumElem(),实现统计一个数字的因子之和(包括1,不包括A本身)
def sumElem(a):
sum=1
for i in range(2,a):
if a % i == 0:
sum+=i
return sum
def is_sushu(a):
for i in range(2,a):
if a % i == 0:
return False
else:
return True
n=int(input())
d={}
temp=[x for x in range(4,n+1) if is_sushu(x)==False]
for j in temp:
k=sumElem(j)
if j==k or k not in temp:
continue
if sumElem(k)==j and j < k :
d[j]=k
temp.remove(j)
for m,n in d.items():
print(m,n)