Problem 1075 分解素因子

Accept: 2161    Submit: 4126
Time Limit: 1000 mSec    Memory Limit : 32768 KB

 Problem Description

假设x是一个正整数,它的值不超过65535(即1<x<=65535),请编写一个程序,将x分解为若干个素数的乘积。

 Input

输入的第一行含一个正整数k (1<=k<=10),表示测试例的个数,后面紧接着k行,每行对应一个测试例,包含一个正整数x。

 Output

每个测试例对应一行输出,输出x的素数乘积表示式,式中的素数从小到大排列,两个素数之间用“*”表示乘法。

 Sample Input

2
11
9828

 Sample Output

11
2*2*3*3*3*7*13

先打表。再用一个数组来储存素数,最后找素数里面能够整除k的素数,把这些素数储存到另一个数组中。

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#define ll long long
using namespace std;
const int maxn=1e6+10;
int a[maxn];
int b[maxn];
int c[maxn];
int main()
{
int k,x;
int i,j,K;
memset(a,0,sizeof(a));
//打表
a[0]=a[1]=1;
for(i=2;i<=65540;i++)
{
if(a[i]==0)
{
for(j=2;j*i<=65540;j++)
{
a[i*j]=1;
}
}
}
//将素数储存到数组b中
int p=0;
for(j=0;j<=65540;j++)
{
if(a[j]==0) b[p++]=j;
}
scanf("%d",&k);
while(k--)
{
memset(c,0,sizeof(c));
int sum=0;
scanf("%d",&x);
int ss;
for(ss=0;ss<p;)
{
if(x==0) break;
//寻找整除x的素数
else if(x%b[ss]==0)
{
c[sum++]=b[ss];
x/=b[ss];
continue;
}
else if(x%b[ss]!=0) ss++;
}
K=sum;
for(i=0;i<K;i++)
{
if(i!=0) printf("*");
printf("%d",c[i]);
}
printf("\n");
}
return 0;
}

FZU OJ 1075 :分解素因子的更多相关文章

  1. fuzhou 1075 分解素因子

    Problem 1075 分解素因子 Accept: 1331    Submit: 2523Time Limit: 1000 mSec    Memory Limit : 32768 KB Prob ...

  2. FZU 1075 分解素因子【数论/唯一分解定理/分解素因子裸模板】

    [唯一分解定理]:https://www.cnblogs.com/mjtcn/p/6743624.html 假设x是一个正整数,它的值不超过65535(即1<x<=65535),请编写一个 ...

  3. fzu 1075 分解素因子

    代码: #include<cstdio> #include<cstring> #include<iostream> using namespace std; int ...

  4. 给定n,求1/x + 1/y = 1/n (x<=y)的解数~hdu-1299~(分解素因子详解)

    链接:https://www.nowcoder.com/acm/contest/90/F来源:牛客网 题目描述 给定n,求1/x + 1/y = 1/n (x<=y)的解数.(x.y.n均为正整 ...

  5. LightOJ 1340 - Story of Tomisu Ghost 阶乘分解素因子

    http://www.lightoj.com/volume_showproblem.php?problem=1340 题意:问n!在b进制下至少有t个后缀零,求最大的b. 思路:很容易想到一个数通过分 ...

  6. N!分解素因子及若干问题【转载】

    这里写的非常好http://www.cnblogs.com/openorz/archive/2011/11/14/2248992.html,感谢博主,我这里就直接用了. 将N!表示成 N! = p1^ ...

  7. light oj 1236 分解质因数

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

  8. LightOj 1236 - Pairs Forming LCM (分解素因子,LCM )

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1236 题意:给你一个数n,求有多少对(i,  j)满足 LCM(i, j) = n, ...

  9. POJ 1811 Prime Test 素性测试 分解素因子

    题意: 给你一个数n(n <= 2^54),判断n是不是素数,如果是输出Prime,否则输出n最小的素因子 解题思路: 自然数素性测试可以看看Matrix67的  素数与素性测试 素因子分解利用 ...

随机推荐

  1. Android 获取本地外网IP、内网IP、计算机名等信息

    一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...

  2. AtomicLong与LongAdder的区别

    AtomicLong的原理 AtomicLong是通过依靠底层的CAS来保障原子性的更新数据,在要添加或者减少的时候,会使用死循环不断地cas到特定的值,从而达到更新数据的目的. LongAdder的 ...

  3. [Java学习] Java多态和动态绑定

    在Java中,父类的变量可以引用父类的实例,也可以引用子类的实例. 请读者先看一段代码: 1. public class Demo { 2. public static void main(Strin ...

  4. 20170709pptVBA递归删除LOGO图片与文字

    Public Sub StartRecursionFolder() Dim Pre As Presentation Dim FolderPath As String Dim pp As String ...

  5. android--------WebView实现 Html5 视频标签加载

    自Android 4.4起,Android中的WebView开始基于Chromium(谷歌浏览器)支持浏览器的一系列功能,webkit解析网页各个节点,这个改变,使得WebView的性能大幅度提升,并 ...

  6. Confluence 6 管理多目录

    这个页面描述了如果在 Confluence 中定义了多个目录服务器将会发生什么样的情况.例如你可能会有一个内部目录服务器同时你还可能有连接一个 LDAP 外部服务器或者使用多种类型的其他用户目录.当你 ...

  7. 牛客网暑期ACM多校训练营(第一场)I Substring

    题意:给你一个只有abc的字符串,求不相同的子串,(不同构算不同,例如aba和bab算同构) 题解:很显然,如果不考虑同构的问题,我们直接上sa/sam即可,但是这里不行,我们考虑到只有abc三种字符 ...

  8. linux下批量kill进程的方法

    --kill某个用户下的所有进程(用户为test)--pkill  # pkill -u test--killall  # killall -u test--ps  # ps -ef | grep t ...

  9. learning docker steps(2) ----- docker contailner 初次体验

    参考:https://docs.docker-cn.com/get-started/part2/ Dockerfile的内容如下所示: # 将官方 Python 运行时用作父镜像 FROM pytho ...

  10. 快速切题 sgu104. Little shop of flowers DP 难度:0

    104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB PROBLEM Yo ...