《python程序语言设计》2018版第5章第35题求完全数,解题经历,我认为的正确代码放在最后

news2024/11/16 19:57:25

在这里插入图片描述
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 = b
   elif base_num %b != 0:
           b +=1
  base_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 /= b
        ele_num = b
        print(ele_num, base_num)
    elif base_num % b != 0:
        b += 1
        ele_num = b
        print(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_num
            div_after_num = base_num / div_num

        elif base_num % div_num != 0:
            div_num += 1
            if base_num % div_num == 0:
                base_num /= div_num
                div_after_num = base_num / div_num
                print(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_num
        print(base_num, div_num)
    else:
        base_num += 1
        print("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_num
        print(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_num
        print(base_num)
        total_num = base_num
        if base_num % div_num == 0 and base_num % (div_num + 1) != 0:
            div_num += 1
    elif 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 ==0
    28 % 3 ==1

那么我做一个判断是否可以呢?
就是不断的用数字来进行判断只要是因子整除等于0,就留下并累加。
那么循环为真来作为循环开始的条件如何
这个判断成功了

    if base_num % div_num == 0:
        total_num= div_num
        print(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_num
        print(total_num)
        total_num +=total_num
        if total_num ==base_num:
            print(f"This number {base_num} is perfect number ")
        div_num += 1
    else:
        div_num+=1

base_num是要求的完全数。大家可以试试28等等。哈哈
祝大家学习快乐。明天上班顺利

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1809410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图Transformer 推荐系统

文章目录 Graph Transformer for Recommendation摘要引言相关工作方法3.1 Graph Invariant Rationale Learning3.1.1 Graph Collaborative Rationale Discovery3.1.2 Global Topology Information Injection3.1.3 Rationale Discovery with Graph Transformer.3.1.4 Task-Adapt…

React中的 Scheduler

为什么需要调度 在 React 中&#xff0c;组件最终体现为 Fiber&#xff0c;并形成 FiberTree&#xff0c;Fiber 的目的是提高渲染性能&#xff0c;将原先的 React 渲染任务拆分为多个小的微任务&#xff0c;这样做的目的是可以灵活的让出主线程&#xff0c;可以随时打断渲染&a…

视觉大模型(VLLM)学习笔记

视觉多模态大模型&#xff08;VLLM&#xff09; InternVL 1.5 近日&#xff0c;上海人工智能实验室 OpenGVLab 团队、清华大学、商汤科技合作推出了开源多模态大语言模型项目InternVL 1.5&#xff0c;它不仅挑战了商业模型巨头例如 GPT-4V 的霸主地位&#xff0c;还让我们不禁…

如何一键拷贝PPT中的所有文字?

有时我们可能需要引用PPT的文字&#xff0c;但一个幻灯片一个幻灯片拷贝很是麻烦&#xff0c;我们想一键拷贝PPT中所有幻灯片中的内容&#xff08;最近我就遇到了这个需求&#xff09;。今天就来讲讲这个一键拷贝的技巧。因为大家可能会遇到同样的问题&#xff0c;所以在此记录…

JAVA网络编程,反射及注解知识总结

文章目录 网络编程软件架构三要素IP端口号协议UDP协议发送数据接收数据三种通信方式 TCP协议客户端服务器端三次握手四次挥手 反射获取字节码文件获取构造方法获取成员变量获取成员方法反射的作用 动态代理注解作用格式使用位置注解的原理常见注解元注解自定义注解解析注解 网络…

Elasticsearch index 设置 false,为什么还可以被检索到?

在 Elasticsearch 中&#xff0c;mapping 定义了索引中的字段类型及其处理方式。 近期有球友提问&#xff0c;为什么设置了 index: false 的字段仍能被检索。 本文将详细探讨这个问题&#xff0c;并引入列式存储的概念&#xff0c;帮助大家更好地理解 Elasticsearch 的存储和查…

一文带你轻松掌握Java数组定义和声明

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

Android JobService启动系统源码分析

以下就JobService的执行流程,系统层实现进行详解 入口点在JobScheduler.scheduler 系统层JobScheduler是个抽象类,它的实现类是JobScheduler mBinder,一看就知道这里面肯定是跨进程了。它的服务端在JobSchedulerService里面,具体 为什么请看系统服务器启动流程相关文章,…

Python | 正则表达式

?:标记?之前的字符为可选. used&#xff1f; d可有可无 *:匹配>0个重复的在*号之前的字符。 ab*c 匹配多个b &#xff1a;匹配>1个重复的号前的字符。&#xff08;至少一个&#xff09; {n,m}&#xff1a;匹配num个大括号之前的字符或字符集 &#xff08;n < num …

创新案例|创新实时零售模式,千亿时尚巨头Shein的全球扩张之路

SHEIN&#xff0c;一家估值千亿美元的快时尚电商独角兽&#xff0c;是全球增长最快的服饰平台。它通过数据和平台的双轮驱动&#xff0c;构建了全新的“实时零售”模式&#xff0c;实现了数据与商业的紧密衔接。同时&#xff0c;通过领导力和组织能力建设&#xff0c;打造了独特…

实验四、零比特插入《计算机网络》

但凡这句话有一点用的话也不至于一点用都没有。 目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 掌握零比特插入原理及方法使用任意编程语言实现零比特插入方法。 二、实验内容 掌握零比特插入原理及方法 点对点协议 PPP&#xff08;Point-to-Point Protoco…

LLVM 后端执行流程

异构计算程序工作流程 图4-1中的LLVM后端的主要功能是代码生成&#xff0c;其中包括若干指令生成分析转换pass&#xff0c;将LLVM IR 转换为特定目标架构的机器代码 LLVM 流水线结构 输入指令经过图4-2中的各个阶段&#xff0c;从最初的LLVM IR&#xff0c;逐步演化为Selectio…

市值超越苹果,英伟达的AI崛起与天润融通的数智化转型

Agent&#xff0c;开启客户服务新时代。 世界商业格局又迎来一个历史性时刻。 北京时间6月6日&#xff0c;人工智能芯片巨头英伟达&#xff08;NVDA&#xff09;收涨5.16%&#xff0c;总市值达到3.01万亿美元&#xff0c;正式超越苹果公司&#xff0c;成为仅次于微软&#xf…

UART基本定义、三种编程方式、freertos内怎么用、怎么封装

文章目录 串口基本概念串口的三种编程方式uart编程查询方式不常用、其他两个方式用的多中断方式&#xff1a;代码原理 DMA方式&#xff1a;配置DMA原理代码 效率最高的UART编程方式&#xff1a;是什么&#xff1f;操作 在freertos里面调用uart应该怎么做&#xff1f;代码 面向对…

每日复盘-20240607

今日关注&#xff1a; 这几天市场环境不好&#xff0c;一直空仓。 六日涨幅最大: ------1--------605258--------- 协和电子 五日涨幅最大: ------1--------605258--------- 协和电子 四日涨幅最大: ------1--------605258--------- 协和电子 三日涨幅最大: ------1--------0…

在Linux or Windows中如何优雅的写出对拍

在Linux or Windows中如何优雅的写出对拍 一、前言二、结论1、对拍 三、对拍详解1、什么是对拍呢&#xff1f;&#x1f9d0;2、对拍的组成部分3、输入数据生成4、对拍程序5、操作流程 四、最后 一、前言 网上的对拍程序层出不穷&#xff0c;大多Linux和Windows中的对拍程序都是…

已解决Error || KeyError: ‘The truth value of a Series is ambiguous‘

已解决Error || KeyError: ‘The truth value of a Series is ambiguous’ &#x1f680; 原创作者&#xff1a; 猫头虎 作者微信号&#xff1a; Libin9iOak 作者公众号&#xff1a; 猫头虎技术团队 更新日期&#xff1a; 2024年6月6日 博主猫头虎的技术世界 &#x1f3…

Python 连接 MySQL 及 SQL增删改查(主要使用sqlalchemy)

目录 一、环境 二、MySQL的连接和使用 2.1方式一&#xff1a;sql为主 2.1.1创建连接 2.1.2 表结构 2.1.3 新增数据 ​编辑 2.1.4 查看数据 ​编辑 2.1.5 修改数据 2.1.6 删除数据 2.2方式二&#xff1a;orm对象关系映射 2.2.1 mysql连接 2.2.2 创建表 2.2.3 新增…

已解决Error || IndexError: index 3 is out of bounds for axis 0 with size 3

已解决Error || IndexError: index 3 is out of bounds for axis 0 with size 3 原创作者&#xff1a; 猫头虎 作者微信号&#xff1a; Libin9iOak 作者公众号&#xff1a; 猫头虎技术团队 更新日期&#xff1a; 2024年6月6日 博主猫头虎的技术世界 &#x1f31f; 欢迎来…

【Linux文件篇】优化文件读写,加速数据处理策略——缓冲区

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 前言&#xff1a;我们已经复习了C语言中的接口&#xff0c;并且学习了许多文件系统调用&#xff0c;了解了文件描述符以及重定向。今天我们继续学习文件缓冲区的相关内容。 缓冲区 在学习C语言时&#xff0c;我们经常…