博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分解质因数
阅读量:7056 次
发布时间:2019-06-28

本文共 1097 字,大约阅读时间需要 3 分钟。

 
分解质因数代码:
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: 
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
 重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
#include
main(){ int n,i; scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++) while(n!=i) { if(n%i==0) { printf("%d*",i); n=n/i; } else break; } printf("%d",n);}

另一个代码

#include 
#include
#include
using namespace std;int factor[50];int trial_divisio_fac(int n){ int a=2; int cnt=0; while(a*a<=n) { while(n%a==0) { factor[cnt++]=a; n=n/a; } a++; } if(n>1) factor[cnt++]=n; return cnt;}

 

void solve(int n){    while(n%2==0)    {        printf("%d*",2);        n/=2;    }    for(int i=3; i<=sqrt(n); i+=2)    {        if(n%i==0)        {            n/=i;            printf("%d*",i);            i-=2;        }    }    printf("%d\n",n);}

 

转载于:https://www.cnblogs.com/pach/p/6028070.html

你可能感兴趣的文章
SMB3.0 简介
查看>>
排序——直接插入排序
查看>>
Nginx简单防御CC***
查看>>
vsftp虚拟用户配置
查看>>
邮件服务器
查看>>
正则表达式
查看>>
Tarjan 算法&模板
查看>>
sql语句
查看>>
释放$
查看>>
artifactory搭建maven2内部服务器
查看>>
我的友情链接
查看>>
FTP服务介绍
查看>>
基于MVC4+EasyUI的Web开发框架形成之旅--基类控制器CRUD的操作
查看>>
putty 相关 拷贝本地文件到服务器端
查看>>
盘点2012最不安全的网络管理员
查看>>
DEV GridControl 控件 编辑状态下数据更新问题
查看>>
我的友情链接
查看>>
linux bonding
查看>>
【ssh简单版git-server 1】git-server权限管理
查看>>
Raddit算法Java实现
查看>>