2-07. 素因子分解(20) (ZJUPAT 数学)
题目链接: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 数学)的更多相关文章
- 开源Math.NET基础数学类库使用(07)一些常用的数学物理常数
原文:[原创]开源Math.NET基础数学类库使用(07)一些常用的数学物理常数 本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/ ...
- 2-06. 数列求和(20)(ZJUPAT 数学)
题目链接:http://pat.zju.edu.cn/contests/ds/2-06 给定某数字A(1<=A<=9)以及非负整数N(0<=N<=100000).求数列之和S ...
- 1002. 写这个号码 (20)(数学啊 ZJU_PAT)
主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1002 读入一个自然数n,计算其各位数字之和.用汉语拼音写出和的每一位数字. 输入格式:每一个測 ...
- 1005. 继续(3n+1)猜想 (25) (ZJUPAT 数学)
主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1005 卡拉兹(Callatz)猜想已经在1001中给出了描写叙述.在这个题目里.情况略微有些复 ...
- 1001. 杀死吸引力(3n+1)猜想 (15)(ZJUPAT 数学)
主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1001 卡拉兹(Callatz)猜想: 对不论什么一个自然数n,假设它是偶数,那么把它砍掉一半. ...
- Educational Codeforces Round 20 C 数学/贪心/构造
C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- PAT 甲级 1104. Sum of Number Segments (20) 【数学】
题目链接 https://www.patest.cn/contests/pat-a-practise/1104 思路 最容易想到的一个思路就是 遍历一下所有组合 加一遍 但 时间复杂度 太大 会超时 ...
- .net表达式计算器(中缀表达式转后缀表达式,支持20多个数学函数,支持函数嵌套)
最近在网上查了一下表达工计算器的类库,发现Java版本的有一个比较成熟的叫W3EVal,好像是一个IBM工程师写的,.net就很少了(可能是我了解不够多),但投机取巧的实现思路有很多,比如: (1)将 ...
- 【函数】Oracle函数系列(2)--数学函数及日期函数
[函数]Oracle函数系列(2)--数学函数及日期函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...
随机推荐
- Xamarin 后台持续定位与提示
IOS后台持续运行对于c#程序员不懂得ios后台机制的是存在一定困扰的.特别是ios9过后对后台和安全进行了更严格的限制 好了废话不多说 一 设置info.plist权限信息 参考: 后台模式:htt ...
- Java设计模式之适配器模式(Adapter Pattern)
Adapter Pattern的作用是在不改变功能的前提下转换接口.Adapter分为两类,一类是Object Adapter, 还有一类是Class Adapter.因为Class Adapter的 ...
- javascript (四) 改变html样式
<h1 id="domo"> this is testing test</h1> <script> function changecolor() ...
- 简体中文 — ANSI Common Lisp 中文版
简体中文 - ANSI Common Lisp 中文版 简体中文¶
- ThinkPHP框架配置自定义的模板变量(十)
原文:ThinkPHP框架配置自定义的模板变量(十) 模板替换(手册有详细介绍对应的目录) __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/ __ROOT__: 会替换成当 ...
- SQL Server定时自动抓取耗时SQL并归档数据脚本分享
原文:SQL Server定时自动抓取耗时SQL并归档数据脚本分享 SQL Server定时自动抓取耗时SQL并归档数据脚本分享 第一步建库 USE [master] GO CREATE DATABA ...
- Linux中利用crontab创建计划任务
在linux中启动crontab服务: /etc/init.d/crond start crontab的命令格式 crontab -l 显示当前的crontab 文件(默认编写的crontab文 ...
- 基于Servlet、JSP、JDBC、MySQL的一个简单的用户注冊模块(附完整源代码)
近期看老罗视频,做了一个简单的用户注冊系统.用户通过网页(JSP)输入用户名.真名和password,Servlet接收后通过JDBC将信息保存到MySQL中.尽管是个简单的不能再简单的东西,但麻雀虽 ...
- vim删除^M
1.进入命令模式.vim的命令模式,就是在编辑模式下输入":",光标就会跳到屏幕最后一行,并在那里显示冒号,此时就已经进入命令模式. 命令模式的内容均显示在屏幕的最后一行,按下回车 ...
- hbase总结(二)-hbase安装
本篇介绍两种HBase的安装方式:本地安装方式和伪分布式安装方式. 安装的前提条件是已经安装成功了hadoop,并且hadoop的版本号要和hbase的版本号相匹配. 我将要安装的hbase是hbas ...