DUT oj 1016 一个数最多能分解成几个数的乘积 和素数打表法
来源:互联网 发布:apache 去掉index.php 编辑:程序博客网 时间:2024/06/04 23:19
顺便一提
dut 的oj地址 acm.dlut.edu.cn
给定一个数,它最多能分解成几个数的乘积(不包括1)?
Input
多测试数据,每个测试数据一个数N(1 < N <= 1000000)。
Output
输出对应的个数。
Sample Input
5 20
Sample Output
1 3
还记得省赛前纠结这个题目好久,最后还是疼告诉我的筛选法求素数 最后过的
每个数都可以分解为一堆素数的成绩 比如 2^a1 * 3^a2 ...
现在问你除了1 最多分解出多少个 我们肯定是要从第一个素数还是 除n 除到不能整除 换下一个素数 每除一次 ans++;
#include<stdio.h>int prime[1005];bool p[1005];int pn;void init(){int i,j;for(i=3;i<=1000;i++){if(i%2==0) p[i]=0;else p[i]=1;}for(i=3;i*i<=1000;i++){if(p[i]){for(j=i+i;j<=1000;j+=i)p[j]=0;}}pn=0;prime[0]=2;for(i=3;i<=1000;i++){if(p[i])prime[++pn]=i;}}int main(){init();int i,j;int n;int tot;while(~scanf("%d",&n)){tot=1;bool fin=0;for(i=0;i<=pn&&prime[i]*prime[i]<=n;i++){while(n%prime[i]==0){ if(prime[i]==n) { fin=1; break; }n/=prime[i];tot++;}if(fin)break;}printf("%d\n",tot);}return 0;}
- DUT oj 1016 一个数最多能分解成几个数的乘积 和素数打表法
- 将一个数分解为素数乘积
- 将一个数分解成多个素数和的方法数
- 有一个整数n,将n分解成若干个整数之和,问如何分解能使这些数的乘积最大,输出这个乘积m
- 【POJ1032】把一个数分解为不重复的数的和使其乘积最大
- 有一个正整数N可以分解成若干个正整数之和,问如何分解能使这些数的乘积最大?
- 用C语言和汇编语言实现将1个整数分解成几个素数的乘积
- php 把一个数分解成几个数相乘
- hdu 2715 数分解为几个连续数的和
- hdu 1164_将一个数分割成若干素数的乘积
- 360笔试---将一个数拆分成若干个素数的乘积并打印
- 数和分解,乘积最大-vijos整数分解(版本2)
- c语言 把一个数分解成两个素数的和,判断素数精简算法,scanf("%c")读入的是回车符‘\n’
- 使一个正整数分解为若干整数,使其各个数的乘积最大
- POJ-3132(一个数能表示成至多k个素数的和的种类数)(Sum of Different Primes )
- 分解一个整数为素数的乘积形式
- poj 1032 将一个数分成几个不同的数之和,满足这些数的乘积最大。
- dut OJ 1277 素数测试
- linq插入数据之后获取插入数据的自增长ID
- SharePoint 2013 中开发可以被标记为未读和已读的列表之效果篇
- 在 Windows 上安装和使用 GNUstep 和 Objective-C
- dut OJ 1277 素数测试
- 发现一个用PHP 取GPS数据定位的类
- DUT oj 1016 一个数最多能分解成几个数的乘积 和素数打表法
- 关于jsp include html文件导致中文乱码的问题
- json_encode 中文解决方法
- API对设计流程的影响
- hdu 2015 偶数求和
- 谈谈敏捷开发的误区
- 线程和进程
- 类unix操作系统中,驱动加载方式一般分为:动态加载和静态加载
- XPCOM 资源