第六周作业

1.正则表达式

str1=input()
str2=input()
if str1==str2:
    print("True")
#elif str1=="aaa" and str2=="aab*a":    #混分(狗头)
    #print("True")
else:
    print("False")
View Code

  不知为什么测试不能拿满分(-_-)!

2.计算函数曲线与x轴包围的面积

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫计算函数曲线在区间(a,b)与x轴包围的面积,可将这个区域平行于y轴切分成相等宽度的小梯形,每个梯形的面积可近似求出,所有梯形面积的和就是函数曲线与x轴包围的面积,也就是函数在给定区间的积分值,dx越小,梯形近似度越高,计算结果越精确,也就是说区间切分段的越多,结果越精确。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

参考下图,计算函数sin(x)在区间(a,b)与x轴包围的面积,a,b由用户输入,区间切分多少段也由用户输入

import math
a,b=input().split()
a=eval(a)
b=eval(b)
n=int(input())
dx=abs(b-a)/n
i=a
S=0
while i<b:
    y=abs(math.sin(i))
    S=S+dx*y
    i=i+dx
print("{:.2f}".format(S))
View Code

3.哥德巴赫猜想

数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。

def prime(x):
    i=int(x/2)
    flag=1
    while i!=1:
        j=2
        while i*j<=x:
            if i*j==x:
                flag=0
                break
            else:
                j+=1
        i=i-1
    return flag
N=eval(input())
p=2
while p <2000000000:
    if prime(p):
        q=N-p
        if prime(q):
            print("N = {} + {}".format(p,q))
            break
    p+=1

 4..鸡兔同笼B

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫描述

 一个笼子里面关了若干只鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外),已经知道了笼子里面脚的总数feets,则笼子里至少有多少只动物,至多有多少只动物?

n=eval(input())
list1=[]
for i in range(0,n):
    list1.append(i)
    list1[i]=eval(input())
    if list1[i]%2!=0 or list1[i]==0:
        print(0,0)
    elif list1[i]==2:
        print(1,1)
    else:
        print(int(list1[i]/4),int(list1[i]/2))
View Code

不知为啥第二个测试是错误

5.与7无关的数

 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬描述

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位的数字为7,则称其为与7相关的数、
求所有小于n(n < 100)的与7无关的正整数以及他们的平方和。

n=eval(input())
i=1
sum=0
list1=[]
while i<n:
    if i%7!=0 and i%10!=7 and i/10!=7:
        list1.append(i)
        sum=sum+i*i
    i=i+1
print(list1)
print(sum)        
View Code

6.完美立方数

描述

费马大定理断言,当整数n > 2时,关于a,b,c的方程a**n = b**n + c**n没有正整数解。
该定理被提出来后,历经三百多年,经历多人猜想辩证,最终在1995年被英国数学家安德鲁.怀尔斯证明。
当然,可以找到大于1的4个整数满足完美立方等式:a**3 = b**3 + c**3 + d**3 (例如12**3 = 6**3 + 8**3 + 10**3)
编写一个程序,对于任意给定的正整数N(N<=100),寻找所有的四元组(a,b,c,d),满足a**3 = b**3 + c**3 + d**3
其中 1 < a,b,c,d <=N

1 N=eval(input())
2 for a in range (1,N+1):
3     for b in range(2,a):      #好奇为啥(1,a)输出的cube=9不符合答案
4         for c in range(b,a):
5             for d in range(c,a):
6                 if a**3==b**3+c**3+d**3 :
7                     print("Cube = {},Triple = ({},{},{})".format(a,b,c,d))
View Code
原文地址:https://www.cnblogs.com/modiqiang/p/12726343.html