2021-07-02

哥德巴赫猜想

哥德巴赫猜想

def is_prime(n):
    """判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False
    减小判定区间,减少循环次数,提升效率"""
##点击在此输入一行或多行代码
    if n < 2:
        return False
    for i in range(2,int(n / 2) + 1):
        if n % i == 0:
            return False
    else:
        return True
    
def goldbach_conjecture(num):
    """ 哥德巴赫猜想, 接收一个不小于4的正整数为参数。
    当参数为不小于4的偶数时,将其分解为两个素数的加和,按小数+数的格式输出。
    有多种组合时全部输出,但不输出重复的组合,例如输出8=3+5,不输出8=5+3。
    参数为奇数或小于4时,输出'Data error!'
    """
##点击在此输入一行或多行代码
    if num >= 2:
        if num % 2 == 0:
            for i in range(1,int(num/2)+1):
                if is_prime(i) and is_prime(num - i):
                    print('N = {} + {}'.format(i,num-i))
                    break

        else:
            print('Data error!')

n = int(input())
goldbach_conjecture(n)

正负交错数列前n项和


正负交错数列前n项和

n = int(input())
a = -1
sum = 1
b,c = 1,2
for i in range(2,n+1):
   # i = float(i)
    sum = sum + a*(i-1)/c
    t = c
    c = b + c
    b = t
    a = -a
   
print('{:.6f}'.format(sum))

@TOC)
百分制成绩转换五分制(循环)

#百分制成绩转换五分制(循环)
flag=1
while flag:
  grade=eval(input())
  try:
      if 100>=grade>=90:
        print('A')
      elif 90>grade>=80:
        print('B')
      elif 80>grade>=70:
        print('C')
      elif 70>grade>=60:
        print('D')
      elif 60>grade>=0:
        print('E')
      elif grade<0:
        print('end')
        flag=0
      else:
        print('data error!')
  except:
    print('data error!')

判断闰年


判断闰年

n = int(input())
if n % 400 == 0 :
    print('True')
elif n % 4 == 0 and n % 100 != 0:
    print('True')
else:
    print('False')

回文素数


回文素数

from math import*
def isprime(n):
    for j in range(2,int(sqrt(n))+1):
        if n%j==0:
            return 0
    return 1

def ishui(n):
    n1=n[::-1]
    
    if n1==n:
        return 1
    return 0
    
x=int(input())
i=0
n=2
while(i<x):
    
    if(isprime(n) and ishui(str(n))):
        print(n,end=' ')
        i+=1
    n+=1

完数


完数

def isPrime(n):          #判断素数的函数
    if n < 2:
        return False     #0和1不是素数
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    else:
        return True
def isPerfect(m):   #判断完数的函数
	if isPrime(m) and isPrime(2**m-1):
		s = 2**(m-1)*(2**m-1)
		ls.append(s)
		for i in range(2, s // 2 + 1):
			if s % i == 0:
				factor.append(i)
		return s
	else:
		return False

n = int(input())
count,num = 0, 1
ls = []
while count <n:
	factor = []
	if isPerfect(num):
		print('{}=1'.format(ls[count]), end='')
		for j in factor:
			print("+{}".format(j), end='')
		count = count + 1
		print()
	num = num + 1

二分法求平方根B


二分法求平方根B

import math
n,a = map(float,input().split(','))
#n为输入的实数,m为精度
b = 0
c = n + 0.25
while abs(((b+c)/2)**2-n)>a:
    if ((b + c)/2)**2-n>a:
        c=(b+c)/2
    else:
        b = (b+c)/2
print('{:.8f}'.format((b+c)/2))
print('{:.8f}'.format(math.sqrt(n)))

列表嵌套字典的排序


列表嵌套字典的排序

n=int(input())
a=[]
for i in range(n):
    m=input().split()
    b={}
    b['name']=m[0]
    b['age']=int(m[1])
    a.append(b)
a1=sorted(a,key=lambda x:x['age'])
a2=sorted(a,key=lambda x:x['name'])
print(a1)
print(a2)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值