5.35从4月开始一直到成功,此文章将所有的记录和不同阶段代码展现给大家。但是没有配图,我最后成功的代码放在了最后。
2024.04.15
05.35.01version
求完整数,这个让我突然有点蒙。我什么时候能求完整数呢??
正因子之和。我该怎么求
2=1+1 这不是正因子。应该是不同的正因子加在一起。
正因数是一个整数中大于0的因数,且是整数不能是负数
if z % b = a and b!=a:if b + a == z:print(z is profit number)
首先等于2从2开始进行正因子的操作
b = 2
基础数肯定要大于2小于10000
base_num =3
ele_num = 0
while base_num < 10000:if base_num % b ==0:ele_num = belif base_num %b != 0:b +=1base_num +=1
不使用函数概念。需要直接先将求因子的公式铺开概念
依次找出3到10000之间的数,一个一个的进行正因子的对比!!
那么就是如何进行一个一个的取值呢?
b = 2
# 基础数肯定要大于2小于10000
base_num = 4
ele_num = 0
total_num = 0
while base_num < 10:if base_num % b == 0:base_num /= bele_num = bprint(ele_num, base_num)elif base_num % b != 0:b += 1ele_num = bprint(ele_num)# if total_num == base_num:# print(f"This base is profit{base_num}")total_num += ele_num# print(total_num)# print(ele_num)base_num += 1
这是第一阶段的代码里面的备注部分是当时用来测试代码显示结果用的。
2024.04.16
整除。我是不是可以
2024.04.17
先建立基本的框架
基础数和循环的限制
整数被整除等于0 然后因数相加相等的即为完全数
代码如下:
base_num = 2
div_num = 1
div_after_num = 0
div_after_total = 0
while base_num < 10:# 如果正整数和其正因子相加不相等则继续循环if base_num != div_after_num:if base_num % div_num == 0:base_num /= div_numdiv_after_num = base_num / div_numelif base_num % div_num != 0:div_num += 1if base_num % div_num == 0:base_num /= div_numdiv_after_num = base_num / div_numprint(f"this number {div_after_total} is profit.")div_after_total += div_after_num# print(f"this number {div_after_total} is profit.")base_num += 1
脑袋一团乱。继续干活把。 先停一下
2024.04.18
2024.04.20
头晕目眩开始了新的一天。真的变成代码好累。
为什么我的运算变成这样。
看来我要舍去一些东西。
难点1
正因子的求解。
一个数不断的除,如果没有余数即为正因子可以继续整除。否则增加一个数 #这是一个点。试一下
base_num = 2
div_num = 2
while base_num < 10:if base_num % div_num == 0:base_num /= div_numprint(base_num, div_num)else:base_num += 1print("next", base_num)base_num += 1
结果却很尴尬,继续分析。不过我感觉方向还是对的。
if base_num % div_num == 0 and base_num / div_num == 1:
加了这个条件似乎也没有解决根本的问题。
我不想参考上一次成功的代码。我甚至都不想提。然后完全再来写。希望自己能够写透,写明白
我现在要确定什么是正因子。或者是在我自己的这个算式里谁是正因子。
1、能被整除,不论除数是多少都能整除。
2、被除数已经为1
方法对。但我突然想起来。是不是先练习求一个被除数的正因子呢??
python代码如下
base_num = 6
div_num = 2
while base_num != 1:if base_num % div_num == 0:base_num/=div_numprint(base_num,div_num)else:div_num+=1
我感觉先从但一个数的研究开始更好,这段代码并不是我想要的。虽然是按我想法设计的,但是结果却不熟。
base_num = 28
div_num = 1
# 新建一个变量用来存储除数
total_num = 0
while base_num != 1:if base_num % div_num == 0:base_num /= div_numprint(base_num)total_num = base_numif base_num % div_num == 0 and base_num % (div_num + 1) != 0:div_num += 1elif base_num % div_num != 0:div_num += 1
玩游戏让我脑袋疼。昨天画了大概4副曼陀罗速写,是不是画多了
2024.04.21
我现在已经尽力的去分析,包括调来了5.18的代码也是无济于事。
2024.05.02
终于完成了学校4月反馈表和日志的提交。一天真的是累呀
不知道还能不能有新的想法
如何求除数和被除数的关系。是一个点。
2024.05.03
任何想法都无法复制,什么样的因才是得果呢??
编写代码的目的就是在因的环境中创造。
循环的起点
1、什么是循环的起点。什么条件是我们循环语句的开始。
整除一个数,因子正因子 这个题也是求正因子。真的是巧合,
没想到这个时候我正好刚刚对因果的关系有了新的想法。
这并不是我创造至少我在慢慢的中观察的一种结论。
我们因为果而去认识时间,接受事物、甚至是宗教。
28 % 1 ==0 28 % 2 ==028 % 3 ==1
那么我做一个判断是否可以呢?
就是不断的用数字来进行判断只要是因子整除等于0,就留下并累加。
那么循环为真来作为循环开始的条件如何
这个判断成功了
if base_num % div_num == 0:total_num= div_numprint(total_num)div_num += 1
代码成功,并且我也找到了替代while true的代码
base_num = 6
div_num = 1
# 新建一个变量用来存储除数
total_num = 0
while div_num != base_num:if base_num % div_num == 0:total_num= div_numprint(total_num)total_num +=total_numif total_num ==base_num:print(f"This number {base_num} is perfect number ")div_num += 1else:div_num+=1
base_num是要求的完全数。大家可以试试28等等。哈哈
祝大家学习快乐。明天上班顺利