Python编程挑战:求解正整数分解算法,赢取200积分!

创始人
2024-12-15 00:15:58
0 次浏览
0 评论

python输入俩个数计算俩个数字之和

num1,num2=input('请输入两个数字,中间用空格分隔:').split()print('两个数字的和为',int(num1)+int(num2))

(求算法高手!)将一个正整数表示为N个不同的正整数之和。

有200积分奖励,我想试试。
第一个想法是:n可整除不同整数之和=S(1)=(n-1)+1不同整数之和S(2)=(n-2)+2可被总和整除不同的整数。


S(n-1)=(n-1)可以分为不同整数的和。
),...,S(n-1))==================================================手动模拟该算法:n=6可能。
5+1能被不同的整数和整除=>S1=[5,1]4+2能被不同的整数和整除=>S2=[4,2]3+3能被不同的和整除重复此步骤需要3个整数可整除为不同的和=2+1不能被整除为不同的和=>[2,1]=1+2。
相同整数之和=>重复=>S3=[3,2,1]2+4可以分为不同整数之和,重复,S4=[]1+5可以分为不同整数。
重复,S5=[]S=并集(S1,S2,S3,S(4),S(5))=[[5,1],[4,2],[3,2,1]]===========================================最后是代码。
python中实现了2个函数。
NumberSplit计算AllSplitCheckUnit用于去除重复项。
defNumberSplit(n):ifn<0 raiseExceptionifn<3:return[[n]]sumArray=list()foriinrange(1,n):t xss=clean>>>checkonic(numbersplit(9))[(1,3,5),(2,7),(2,3,4),(1,2,6),(1,8))]整个大数字有点慢并且没有优化。
>>>g=chequeniq(数字(20))>>>g.array()[(1,2,3,4,10),(1,2,3,5,9),(1,2)3,6,8),(1,2,3,14),(1,2,4,5,8),(1,2,4,6,7),(1,2,4,13),(1,2,5,12),(1,2,6,11),(1,2,7,10),(1,2,8,9),(1,2,17),(1,3,4,5,7),(1,3,4,12),(1,3,5,11),(1,3,6,10),(1,3,7,9),(1,3,16),(1,4,5,10),(1,4,6,9),(1,4,7,8),(1,4,15),(1,5,6,8),(1,5),14),(1,6,13),(1,7,12),(1,8,11),(1,9,10),(1,19),(2,3,4,5,6),(2,3),4,11),(2,3,5,10),(2,3,6,9),(2,3,7,8),(2,3,15),(2,4,5,9)2,4,6,8),(2,4,14),(2,5,6,7),(2,5,13),(2,6,12),(2,7,11),(2,8,10)(2:18)
热门文章
1
Python中的format()方法:字... formatformat在python中的含义2222.22E+00Format...

2
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

3
Python爱心绘制教程:使用turtl... python的爱心代码教程(python画爱心代码)绘制心形的Python代码我...

4
Python字符串大小写转换方法全解析 python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...

5
Python字典:轻松获取最小值键与计算... python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...

6
Python字符串去重空格:strip(... Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...

7
Python数组元素数量计算技巧分享 Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...

8
简述python中pass的作用 pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...

9
Python def 关键字详解:函数定... def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...

10
python不区分大小写的方法 Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...