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

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

我们都知道算术基本定理,贴一波百度百科。

定理描述得很简单,也很好理解。但实际上,要想得到一个数的素因数分解式并不简单。

最简单的办法是暴搜,稍微好一点的方法是利用欧拉筛。

1 int n,vis[maxn],prime[maxn],cnt,minf[maxn]; 2 int main() { //minf[i]保存i的最小素因数  3     scanf("%d",&n); 4     for(int i=2;i<=n;++i) { //进行欧拉筛的同时记录minf[i]  5         if(!vis[i]) {prime[++cnt]=i;minf[i]=i;} 6         for(int j=1;j<=cnt&&i*prime[j]<=n;++j) { 7             vis[i*prime[j]]=1; 8             minf[i*prime[j]]=prime[j]; 9             if(i%prime[j]==0) break;10         }11     } 12     for(int i=2;i<=n;++i) { 13         int j=i; //不断进行分解 14         while(j>1) {printf("%d ",minf[j]);j/=minf[j];}15         printf("\n");16     }17     return 0;18 }

 

转载于:https://www.cnblogs.com/Mr94Kevin/p/9737762.html

你可能感兴趣的文章
AVL 平衡二叉树
查看>>
关于DSP仿真软件CCS中断点和探针的简单理解
查看>>
实验吧-杂项-异性相吸(异或加密)
查看>>
留言板
查看>>
数据库行转列操作
查看>>
爬虫学习资源
查看>>
svg格式的中国地图轮廓图
查看>>
Find All Numbers Disappeared in an Array
查看>>
时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)
查看>>
Web.Config文件配置之连接默认错误页
查看>>
[实用]19个Web开发者必备速查表(多图)
查看>>
操作系统实验一:并发程序设计
查看>>
Java常用的系统类
查看>>
XPO to Database Connectivity: Mastering Fork Etiquett
查看>>
ADO实现单条记录的刷新《转》
查看>>
python列表和循环判断
查看>>
Spring各jar包的作用(转载)
查看>>
Windows10 +Ubuntu 18.04双系统安装详细教程
查看>>
ecmall 别人做好的商城
查看>>
《数据结构教程》(李春葆 主编)课后习题【练习题7】
查看>>