题目简述:就是给一个数,把他拆分成多个素数的乘积,这正好是算术基本定理。本题我的解决方法是埃氏素数筛+质因数保存。。。开始T掉了,是因为我在最后枚举了素数,保存他们的次数,然后两次for去查询他们的次数这样需要遍历前面所有素数。显的十分浪费时间,因为如果给的数非常大,并且次数小的次数很多那么我们外面的第一层FOR就是N第二层是一个遍历内部次数输出也达到挺大程度(素数小的并且多的化N*M会很大)加上T的话很可能会超时,其实直接保存质因数在另一个素数就可以了,然后遍历输出即可(在此警醒自己,做题不要拿着题目就开做直接暴力,要精简算法的复杂程度,理清思路,这样避免后面来改动)

算术基本定理可表述为:任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积

最后上代码

 #include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
const int MAXN=;
bool isPrim[MAXN];
int prime[MAXN];
int cnt[MAXN];
int sum,cnt1;
void initPrime()
{
int i;
memset(isPrim,,sizeof());
isPrim[]=;
isPrim[]=;
int k=;
for (i=; i<MAXN; i++)
{
if (!isPrim[i])
{
prime[k++]=i;
int j=;
while (i*j<MAXN)
{
isPrim[i*j]=;
j++;
}
}
}
sum=k;
return;
}
void sovl(int x)
{
for (int i=; ; i++)
{
if (prime[i]>x)break;
while (x % prime[i]==)
{
cnt1++;
cnt[cnt1]=prime[i];
x=x/prime[i];
}
}
return;
}
int main()
{
initPrime();
int t,num,time;
scanf("%d",&t);
while (t--)
{
memset(cnt,,sizeof(cnt));
scanf("%d",&num);
time=;
cnt1=;
sovl(num);
for (int i=; i<=cnt1; i++)
{
time++;
if (time==)
{
printf("%d",cnt[i]);
}
else
printf("*%d",cnt[i]);
}
printf("\n");
}
return ;
}

分解质因数FZU - 1075的更多相关文章

  1. java分解质因数

      package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小 ...

  2. 程序设计入门——C语言 第6周编程练习 1 分解质因数(5分)

    1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...

  3. 【python】将一个正整数分解质因数

    def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ...

  4. light oj 1236 分解质因数

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/H 题意:求满足1<=i<=j<=n ...

  5. 【基础数学】质数,约数,分解质因数,GCD,LCM

    1.质数: 质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数. 2.约数: 如 ...

  6. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m

    给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后 ...

  7. cdoj 1246 每周一题 拆拆拆~ 分解质因数

    拆拆拆~ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1246 Descri ...

  8. hdu 5428 The Factor 分解质因数

    The Factor  Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest ...

  9. UVa 10622 (gcd 分解质因数) Perfect P-th Powers

    题意: 对于32位有符号整数x,将其写成x = bp的形式,求p可能的最大值. 分析: 将x分解质因数,然后求所有指数的gcd即可. 对于负数还要再处理一下,负数求得的p必须是奇数才行. #inclu ...

随机推荐

  1. Windows 远程桌面剪贴板失效的处理办法

    解决方法: 1.在任务管理器里选择rdpclip.exe进程,结束进程: 2.任务管理器左上角,文件-运行新任务,输入rdpclip.exe,确定运行即可.

  2. LeetCode算法题-First Bad Version(Java实现-三种解法)

    这是悦乐书的第200次更新,第210篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第66题(顺位题号是278).您是产品经理,目前领导团队开发新产品.不幸的是,您产品的最 ...

  3. LeetCode算法题-Remove Duplicates from Sorted List

    这是悦乐书的第160次更新,第162篇原创 01 前情回顾 昨晚的爬楼梯算法题,有位朋友提了个思路,使用动态规划算法.介于篇幅问题,这里不细说动态规划算法,以后会在数据机构和算法的理论知识里细说. 昨 ...

  4. CISCO 动态路由(OSPF)

    OSPF(开放式最短路径优先):是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由.是对链路 ...

  5. java继承-super的用法

    继承的特点: 1.子类继承了父类的成员 2.具有层次结构 继承的优点: 1.代码重用 2.父类字段和方法可用于子类 3.从抽象到具体形成类的继承体系 4.可以轻松自定义子类 this:当前对象的引用 ...

  6. nginx: [emerg] unknown directive "stub_status" in /usr/local/openresty/nginx/conf/conf.d/ngx_metric.conf:19

    问题分析 Nginx没有添加modules/ngx_http_stub_status_module.o模块. 问题解决 没有安装的话,可以在tar包安装编译的时候添加如下参数: # ./configu ...

  7. WPF自定义控件(三)の扩展控件

    扩展控件,顾名思义就是对已有的控件进行扩展,一般继承于已有的原生控件,不排除继承于自定义的控件,不过这样做意义不大,因为既然都自定义了,为什么不一步到位呢,有些不同的需求也可以通过此来完成,不过类似于 ...

  8. docker学习笔记(二)-dockerfile docker仓库

    dckerfile2这样写才对,不然打印的是hello $name 例子 登陆https://hub.docker.com 上面是提交到公共仓库 创建本地私有仓库 开启另外一个虚机,将重新构建上传镜像 ...

  9. Gps定位和wifi定位和基站定位的比较

    现在手机定位的方式是:Gps定位,wifi定位,基站定位 Gps定位的前提,手机开启Gps定位模块,在室外,定位的精度一般是几米的范围 wifi定位的前提,手机要开启wifi,连不连上wifi热点都可 ...

  10. spring Environment

    Environment 环境在容器中是一个抽象的集合,是指应用环境的2个方面: profiles和 properties. profile 配置是一个被命名的,bean定义的逻辑组,这些bean只有在 ...