Foj 1075 分解素因子

题目链接:http://acm.fzu.edu.cn/problem.php?pid=1075
思路:分解素因子

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int maxn=65535+5;
typedef long long LL;
bool prime[maxn];
int p[maxn/10];
int k;
void isprime()
{
    k=0;
    LL i,j;
    memset(prime, true, sizeof(prime));
    for(i=2; i<maxn; i++)
    {
        if(prime[i])
        {
            p[k++]=i;
            for(j=i*i; j<maxn; j+=i)
            {
                prime[j]=false;
            }
        }
    }
}
int num[1000];
int fac[maxn];
int cnt;
void fenjie(int m)
{
    memset(num, 0, sizeof(num));
    cnt=0;
    for(int i=0; p[i]*p[i]<=m&&i<k; i++)
    {
        if(m%p[i]==0)
        {
            fac[cnt]=p[i];
            while(m%p[i]==0)
            {
                num[cnt]++;
                m/=p[i];
            }
            cnt++;
        }
    }
    if(m>1)
    {
        fac[cnt]=m;
        num[cnt++]=1;
    }

}
int main()
{
    int t;
    isprime();

    scanf("%d",&t);
    while(t--)
    {
        int m;
        scanf("%d",&m);
        fenjie(m);
        //cout<<"cnt="<<cnt<<endl;
        for(int i=0; i<cnt-1; i++)
        {
           for(int j=0; j<num[i]; j++)
           {
            cout<<fac[i]<<"*";
           }
        }
       for(int i=0; i<num[cnt-1]-1; i++)
       cout<<fac[cnt-1]<<"*";

       cout<<fac[cnt-1]<<endl;
    }
    return 0;
}
时间: 2025-01-19 16:09:25

Foj 1075 分解素因子的相关文章

一道分解素因子的题

问题描述 编写程序,读入一个整数,显示出其所有的素数因子,例如输入32,则显示22235这个是我写的当我输入10的时候,它只显示2没出5;但是我输入18的时候就很正常233,反正是指显示出23等素因子,在大了就不显示,哪位高手能指点小弟一番,在下不胜感激!importjavax.swing.JOptionPane;publicclassFactorization{publicstaticvoidmain(String[]args){StringnumberString=JOptionPane.s

数论之 素因子分解,素数筛选法,欧拉函数和扩展欧几里得算法 (整理)

今天突然想复习一下数论,也就顺便整理了一下关于数论的基础知识, 以后用的时候直接用就行了,也不用现敲了,其实就是有点懒.... 具体解释都在代码里有解释 直接上代码了: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <vector> #include <queue>

Codeoforces 558 B. Duff in Love 【 Codeforces Round #326 (Div. 2)】

B. Duff in Love time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Duff is in love with lovely numbers! A positive integer x is called lovely if and only if there is no such positive integer 

大众点评笔试算法之质因数分解

将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 代码为: // 质因数.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<cmath> #include<cstdlib> #include<iostream> using namespace std; void Analyse(int n) { //打印出 int i; for(i = 2;i <= sqrt(stat

通过分解仿阿宝色动作学习PS调色技巧

一段时间来总看到一些自称为新手的同学问,说怎么样速成PS?这倒是个难题,PS是个实践性很强的学习,只在岸边刻苦学习理论知识,从不下水或者很少下水实践,那么永远不能进步.也就是说学习PS是需要大量的时间来动手操作的,看帖十次不如手动一次.然而真要动起手来,如何下手?怎么下手才能进步更快?可能网络上有很多的捷径和方法.而我个人认为有一个小方法可以更直观地更有效地学习和进步,那就是通过分解图层来逐层领会和了解后期思路,由于每一个图层的建立都会使原图产生变化,而这个变化就是需要让新手去了解的,这个建立的

HDU 3988 大数分解

题意:      这题把k素因子分解后看n!中有多少个与k对应的素因子. n!中含有素因子p的个数为n/p+n/p^2.....取整. #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef unsigned long long ll; const unsigned long long oo=92233720

PS教程:通过分解仿阿宝色动作学习PS调色技巧

一段时间来总看到一些自称为新手的同学问,说怎么样速成PS?这倒是个难题,PS是个实践性很强的学习,只在岸边刻苦学习理论知识,从不下水或者很少下水实践,那么永远不能进步.也就是说学习PS是需要大量的时间来动手操作的,看帖十次不如手动一次.然而真要动起手来,如何下手?怎么下手才能进步更快?可能网络上有很多的捷径和方法.而我个人认为有一个小方法可以更直观地更有效地学习和进步,那就是通过分解图层来逐层领会和了解后期思路,由于每一个图层的建立都会使原图产生变化,而这个变化就是需要让新手去了解的,这个建立的

在SQLServer中用XQuery分解XML数据

在举例说明如何分解上一篇文章中的数据时,我们首先了解一下XQuery和它在SQL Server 2005中为开发者提供的功能. XQuery介绍 XQuery,也称作XML Query,是一种查询XML数据的语言,允许你提取所需的节点和元素.它由W3C定义,可用于今天的大多数主流数据库引擎中,如Oracle.DB2和SQL Server. SQL Server 2005 XQuery函数 下面的四个函数是SQL Server 2005中的XQuery函数.(注意,XML.XQuery语句和下面的

asp分解字符串为数组

idArr=split(ID)     for i = 0 to ubound(idArr)          call DelNews(clng(idarr(i)))     next   以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数组 , 字符串 , split , call , ubound , clng , 分解字符串 字符串分解 字符串分解成数组.asp.net 字符串转数组.asp字符串转数组.asp.n