题目链接:http://pat.zju.edu.cn/contests/ds/2-07

给定某个正整数N,求其素因子分解结果,即给出其因式分解表达式 N = p1^k1 * p2^k2 *…*pm ^km

输入格式说明:

输入long int范围内的正整数N。

输出格式说明:

按给定格式输出N的素因式分解表达式,即 N = p1^k1 * p2^k2 *…*pm ^km,当中pi为素因子并要求由小到大输出,指数ki为pi的个数;当ki==1即因子pi仅仅有一个时不输出ki

例子输入与输出:

序号 输入 输出
1
1024
1024=2^10
2
1323
1323=3^3*7^2
3
97532468
97532468=2^2*11*17*101*1291
4
1
1=1
5
3
3=3

代码例如以下:

#include <cstdio>
#include <cstring>
#include <cmath>
#define LL int
const int MAXN = 11117;
int main()
{
LL n;
int p[MAXN], k[MAXN];
while(~scanf("%d",&n))
{
LL tt = n;
memset(p,0,sizeof(p));
memset(k,0,sizeof(k));
int i = 2;
int cont = 0;
int flag = 0;
int l = 0;
if(n == 1)
{
printf("1=1\n");
continue;
}
while(n!=1)
{
while(n%i==0)
{
flag = 1;
cont++;
n /= i;
}
if(flag)
{
p[l] = i;
k[l] = cont;
l++;
flag = 0;
cont = 0;
}
i++;
}
printf("%d=",tt);
for(int i = 0; i < l-1; i++)
{
if(k[i] == 1)
printf("%d*",p[i]);
else
printf("%d^%d*",p[i],k[i]);
}
if(k[l-1] == 1)
printf("%d\n",p[l-1]);
else
printf("%d^%d\n",p[l-1],k[l-1]);
}
return 0;
}

2-07. 素因子分解(20) (ZJUPAT 数学)的更多相关文章

  1. 开源Math.NET基础数学类库使用(07)一些常用的数学物理常数

    原文:[原创]开源Math.NET基础数学类库使用(07)一些常用的数学物理常数               本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/ ...

  2. 2-06. 数列求和(20)(ZJUPAT 数学)

    题目链接:http://pat.zju.edu.cn/contests/ds/2-06 给定某数字A(1<=A<=9)以及非负整数N(0<=N<=100000).求数列之和S ...

  3. 1002. 写这个号码 (20)(数学啊 ZJU_PAT)

    主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1002 读入一个自然数n,计算其各位数字之和.用汉语拼音写出和的每一位数字. 输入格式:每一个測 ...

  4. 1005. 继续(3n+1)猜想 (25) (ZJUPAT 数学)

    主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1005 卡拉兹(Callatz)猜想已经在1001中给出了描写叙述.在这个题目里.情况略微有些复 ...

  5. 1001. 杀死吸引力(3n+1)猜想 (15)(ZJUPAT 数学)

    主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1001 卡拉兹(Callatz)猜想: 对不论什么一个自然数n,假设它是偶数,那么把它砍掉一半. ...

  6. Educational Codeforces Round 20 C 数学/贪心/构造

    C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  7. PAT 甲级 1104. Sum of Number Segments (20) 【数学】

    题目链接 https://www.patest.cn/contests/pat-a-practise/1104 思路 最容易想到的一个思路就是 遍历一下所有组合 加一遍 但 时间复杂度 太大 会超时 ...

  8. .net表达式计算器(中缀表达式转后缀表达式,支持20多个数学函数,支持函数嵌套)

    最近在网上查了一下表达工计算器的类库,发现Java版本的有一个比较成熟的叫W3EVal,好像是一个IBM工程师写的,.net就很少了(可能是我了解不够多),但投机取巧的实现思路有很多,比如: (1)将 ...

  9. 【函数】Oracle函数系列(2)--数学函数及日期函数

    [函数]Oracle函数系列(2)--数学函数及日期函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...

随机推荐

  1. ExtJS拖拽效果

    ExtJS拖拽效果 <html> <head> <title>hello</title> <meta http-equiv="conte ...

  2. oracle RAC搭建中的潜规则 该死的app

    oracle RAC 安装目录必须是 ORACLE_BASE=/u01/app/grid ORACLE_HOME=/u01/app/11.2.0/grid 看着中间有个app,又没什么实际用处,就删掉 ...

  3. jquery的ajax提交form表单方式总结

    方法一: function AddHandlingFeeToRefund() { var AjaxURL= "../OrderManagement/AjaxModifyOrderServic ...

  4. 利用开源HTML5引擎lufylegend.js结合javascript实现的五子棋人机对弈

    前言     本文主要介绍利用开源引擎 lufylegend.js开发基于Html5的游戏--五子棋,主要叙述其详细开发过程. 游戏规则 玩过五子棋的都应该知道五子棋的规则,这里就简单介绍其规则. 1 ...

  5. opencv做的美女找茬程序~

    // CMP.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <cv.h> #include <high ...

  6. Cloud Foundry中通用service的集成

    目前,CloudFoundry已经集成了很多第三方的中间件服务,并且提供了用户添加自定义服务的接口.随着Cloud Foundry的发展,开发者势必会将更多的服务集成进Cloud Foundry,以供 ...

  7. Mysql免安装版脚本

    使用Mysql过程中经常需要使用到免安装版本(绿色版)的Mysql,开始网上搜了一大堆,但还真是不怎么好用. 只好自己琢磨了一番,现在放出来和大家分享下: //安装启动服务 @ECHO OFF if  ...

  8. Java Core和HeapDump

    什么是Java Core和Heap Dump Java程序运行时,有时会产生Java Core及Heap Dump文件,它一般发生于Java程序遇到致命问题的情况下. 发生致命问题后,Java进程有时 ...

  9. QS Network(最小生成树)

    题意:若两个QS之间要想连网,除了它们间网线的费用外,两者都要买适配器, 求使所有的QS都能连网的最小费用. 分析:这个除了边的权值外,顶点也有权值,因此要想求最小价值,必须算边及顶点的权值和. 解决 ...

  10. hibernate学习(一)

    一.准备工作:导入jar包 1.hibernate的jar包 位置: hibernate-release-5.0.2.Final\hibernate-release-5.0.2.Final\lib\r ...