python怎么求因数

要想做到python语言求因数方法,首先要明白其中的原理:

1、对由123456789这九个数字组成的9位数进行分解质因数。

2、123457698=2x3x3x7x13x23x29x113,所以他的值因数是113。

3、总共有362880种可能,从中找出值因数中最小的数字和值因数中数。

好了,下面来看看python语言求因数方法的实现源码:

#coding:utf-8
 
import math
 
def generator(count, s):
    if count == 1:
        for i in s:
            yield i
    else:
        for i in s:
            _ = set(s)
            _.remove(i)
            for _ in generator(count-1, _):
                yield _ * 10 + i
 
primes = [2, 3]
def prime(idx):
    if idx < len(primes):
        return primes[idx]
    new = primes[-1]+2
    while True:
        for i in primes:
            if new % i == 0:
                break
        else:
            primes.append(new)
            break
        new += 2
    return prime(idx)
 
def probe(number, idx, value=0):
    if value > number:
        return value
    p = prime(idx)
    sqrt = math.sqrt(number)
    while number % p != 0 and sqrt >= p:
        idx += 1
        p = prime(idx)
    if sqrt < p:
        return number
    return probe(number/p, idx, max(p, value)) 
if __name__ == '__main__':
    _min = 10000000000, 10000000000
    _max = 0, 0
    for number in generator(9, set(range(1, 10))):
        maxfactor = probe(number, 0)
        if maxfactor < _min[0]:
            _min = maxfactor, [number]
        elif maxfactor == _min[0]:
            _min[1].append(number)
        if maxfactor > _max[0]:
            _max = maxfactor, [number]
        elif maxfactor == _max[0]:
            _max[1].append(number)
    print _min
    print _max

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

react基础语法,模板语法,ui渲染,jsx,useState状态管理

创建一个react应用 这里使用create-react-app的脚手架构建项目&#xff08;结构简洁&#xff0c;基于webpack-cli&#xff09;&#xff0c; npx create-react-app [项目名称] 使用其他脚手架构建项目可以参考&#xff1a;react框架&#xff0c;使用vite和nextjs构建react项目…

品牌策划必读:9本改变游戏规则的营销经典

作为深耕品牌十余年的策划人&#xff0c;这些年自学啃下的书不计其数。 这里特意挑选了几本知名度不高但是却非常有用的“遗珠”优质品牌策划书籍分享出来。 如果你是一位初步了解品牌的人&#xff0c;这些书籍既包含了品牌理论基础&#xff0c;也有实用的实践指导。 这些书…

振弦采集仪在大型工程安全监测中的作用与意义

振弦采集仪在大型工程安全监测中的作用与意义 河北稳控科技振弦采集仪是一种用于测量振动频率的仪器&#xff0c;常用于大型工程的安全监测中。它通过采集振弦的振动信号&#xff0c;可以对工程结构的振动特性进行实时监测和分析。振弦采集仪在大型工程安全监测中具有重要的作…

深入理解Python密码学:使用PyCrypto库进行加密和解密

深入理解Python密码学&#xff1a;使用PyCrypto库进行加密和解密 引言 在现代计算领域&#xff0c;信息安全逐渐成为焦点话题。密码学&#xff0c;作为信息保护的关键技术之一&#xff0c;允许我们加密&#xff08;保密&#xff09;和解密&#xff08;解密&#xff09;数据。P…

先进电机拓扑及控制算法介绍(1)——串联绕组电机拓扑极其控制

1.前言 在这个专栏&#xff0c;我会介绍一些比较先进的电机拓扑及控制算法&#xff0c;并且会做仿真来验证这些电机拓扑及控制算法的先进性。什么叫做“比较先进的电机拓扑及控制算法”呢&#xff1f; 在我看来&#xff0c;这些电机拓扑及控制算法被提出不久&#xff0c;知道…

AI提示词:AI辅导「数学作业」

辅导孩子作业对许多家长来说可能是一件头疼的事&#xff0c;但这部分工作可以在一定程度上交给AI来完成。 打开ChatGPT4,输入以下内容&#xff1a; # Role 数学辅导专家## Profile - author: 姜小尘 - version: 02 - LLM: Kimi - language: 中文 - description: 专门为小学生…

将格内多行文字展开成多格

表格的A列是分类&#xff0c;B列由多行文字组成&#xff0c;即分隔符是换行符。 AB1Account NumberInteraction21Jan 1,2023 - Hello.32Jan 2, 2023 - Good morning. Jan 3, 2023 - Good night. Jan 4, 20 Jan 5, 2023 - Good night. Jan 6, 2023 - Good afternoon.43Jan 1,20…

【JavaEE】进程

目录 一.冯诺依曼体系结构 二.CPU的核心概念 核心数 频率&#xff08;Clock Speed 或时钟频率&#xff09; 如何选择合适的CPU 三.指令的执行 1.什么是指令 1.取指令 2.解析指令 3.执行指令 4.访问内存&#xff08;Memory&#xff09;: 5.写回结果&#xff08;Write…

Linux--网络设置

目录 一、测试网络连接 1、查看网络接口信息 1.1 ifconfig 命令---查看网络接口信息 1.1.1 ifconfig 网卡 #单独查看某个网卡 1.1.2 ifconfig -a #显示所有活动及非活动的连接 二、修改网络配置文件 三、设置网络接口参数 3.1 启用、禁用网络接口配置 3.2 hostn…

U-net和U²-Net网络详解

目录 U-Net: Convolutional Networks for Biomedical Image Segmentation摘要U-net网络结构pixel-wise loss weight U-Net: Going Deeper with Nested U-Structure for Salient Object Detection摘要网络结构详解整体结构RSU-n结构RSU-4F结构saliency map fusion module -- 显著…

常见摄像头模块性能对比

摄像头模块在现代电子设备与嵌入式开发中扮演着重要角色&#xff0c;从智能手机到安全监控系统&#xff0c;再到机器人视觉系统&#xff0c;它们无处不在。以下是一些常见的摄像头模块及其特点的对比&#xff1a; OV2640 分辨率&#xff1a;最高可达200万像素&#xff08;1600x…

递归 迷宫问题-java

1&#xff09;findWay方法是为了找出走出迷宫的路径&#xff0c;找到返回true&#xff0c;否则返回false 2&#xff09;&#xff08;i&#xff0c;j&#xff09;是老鼠的位置&#xff0c;初始化的位置为&#xff08;1&#xff0c;1&#xff09; 3&#xff09;因为是递归找路&am…

centos磁盘空间满了-问题解决

报错问题解释&#xff1a; CentOS系统在运行过程中可能会出现磁盘空间不足的错误。这通常发生在以下几种情况&#xff1a; 系统日志文件或临时文件过大导致磁盘空间不足。 安装了大量软件或文件而没有清理无用文件。 有可能是某个进程占用了大量磁盘空间。 问题解决方法&a…

10个图源二维码分享及使用方法

我们曾在《8个图源二维码分享及使用方法》一文中&#xff0c;为你分享了8个图源二维码。 现在在此基础之上新增两个图源二维码&#xff0c;共享10个。 如果你需要这些图源&#xff0c;请在文末查看领取方式。 新增了哪两个图源 增加的两个图源分别是全球10m等高线地图和全球…

[C++]: 模板进阶

标题&#xff1a;[C]&#xff1a; 模板进阶 水墨不写bug 目录 一、非类型模板参数 &#xff08;1&#xff09;、非类型模板参数简介 &#xff08;2&#xff09;、非类型模板参数实例 二、模板的特化 &#xff08;1&#xff09;函数模板特化 &#xff08;2&#xff09;类…

Python数据分析-天气类型预测分析

一、研究背景 近年来&#xff0c;随着全球气候变化的加剧&#xff0c;天气预报和气象预测变得越来越重要。准确的天气预测不仅能够帮助人们做好日常生活的安排&#xff0c;还能在农业生产、防灾减灾等方面起到关键作用。随着大数据技术和机器学习算法的快速发展&#xff0c;利…

SAP PS学习笔记02 - 网络,活动,PS文本,PS文书(凭证),里程碑

上一章讲了PS 的概要&#xff0c;以及创建Project&#xff0c;创建WBS。 SAP PS学习笔记01 - PS概述&#xff0c;创建Project和WBS-CSDN博客 本章继续讲PS的后续内容。包括下面的概念和基本操作&#xff0c;以及一些Customize&#xff1a; - 网络&#xff08;Network&#xf…

7.10号小项目部分说明

总体说明 糖锅小助手 我这次主要对上次糖锅小助手界面添加了一个侧边栏&#xff08;侧边输入框放置了三个按钮&#xff0c;可以跳转到其他ai聊天界面&#xff0c;还可以退出聊天界面回到登录界面&#xff09;和一个日期输入框&#xff08;日期输入框获取时间&#xff0c;根据时…

通过Umijs从0到1搭建一个React项目

有一阵时间没写react了&#xff0c;今天通过umi搭建一个demo项目复习一下react&#xff1b;umi是一个可扩展的企业级前端应用框架&#xff0c;在react市场中还是比较火的一个框架。 Umi官方文档&#xff1a;Umi 介绍 (umijs.org) 一、构建项目。 1、安装包管理工具。 官方推…

js原型和类---prototype,__proto__,new,class

原型和原型链 在js中&#xff0c;所有的变量都有原型&#xff0c;原型也可以有原型&#xff0c;原型最终都指向Object 什么是原型 在js中&#xff0c;一个变量被创建出来&#xff0c;它就会被绑定一个原型&#xff1b;比如说&#xff0c;任何一个变量都可以使用console.log打…