XTU OJ 质因数分解
Description |
||
任意一个正整数可以分解成唯一的质因数的乘积,给出正整数,请计算出它的质因数分解式。 输入 每行一个正整数2<=n<=10^8。 输出 每行输出一个对应结果。使用”^”表示幂,”*”表示乘,质因子应该按从小到大的顺序输出,如果某一个质因子只有一次,那么就不要输出它的幂。 Sample Input 2 6 36 Sample Output 2 2*3 2^2*3^2 |
思路分析:这道题应该抓住第一个质因数一定小于第二个质因数,所以,我们应该先试除以第一个质因数,如果能除尽,然后就继续除,统计除了多少个第一个质因数,然后一旦除不尽了,就试着找第二个质因数,再次统计,如果为1就代表除完了
#include <stdio.h>
#include <iostream>
using namespace::std;
int main()
{//分解质因数且求其指数无非就是记录求了我们除了多少个质数1,然后对其剩下的数,再除质数2,除了多少个质数2,这样这几个个数就是我们的指数int n;while (scanf("%d", &n)!=EOF) {int i, j;//思路分析。首先,分解质因数针对的是合数,只有能被整除的数才可分解质因数,因此我们首先目的就是看下这个数是否能被整除for (i = 2; i * i <= n; i++) {if (n % i == 0) {//关于每个指数的位置,不难发现,对于24来说,2的三次方*3才是24,也就是说,一般就先考虑最小的那个位置的质数for (j = 0; n % i == 0; j++) {//j就是我们的指数,除了3个2之后,2除尽了n /= i;}//注意计算机不能一下子就拆分出两个质数,只能一个一个的来拆分,先搞定左边质数以及指数,再搞定右边质数以及指数//里面的for循环完成后,就代表一个质数以及指数完成了!对剩下的数再进行下一个质数以及指数的运算if (j < 2){printf("%d", i);}else printf("%d^%d", i, j);if (n != 1)printf("*");if (n == 1)printf("\n");}}if(n!=1)printf("%d\n", n);}
}
XTU OJ 质因数分解相关推荐
- 质因数分解唯一定理(XTU OJ)
今年的oj 很有几道题用到了,这里介绍一下 质因数分解(唯一分解定理) 基本概念: 每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,叫做这个合数的分解质因数. 分解质因数只针对合 ...
- java 判断一个数是正整数_【Java】P1075 质因数分解—关于数学方法在解题中的运用—(OJ:洛谷)...
点击上方"蓝字"关注我们了解更多算法思路01题目 题目来源:洛谷OJ 题目链接: https://www.luogu.com.cn/ 题目描述 已知正整数n是两个不同的质数的乘积, ...
- 清橙OJ A1036.分解质因数
题目地址:http://www.tsinsen.com/ViewGProblem.page?gpid=A1036 //清橙OJ A1036.分解质因数 //http://www.tsinsen.com ...
- ACMNO.39 分解质因数 求出区间[a,b]中所有整数的质因数分解。蓝桥杯训练!
题目描述 求出区间[a,b]中所有整数的质因数分解. 输入 输入两个整数a,b. 输出 每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大 ...
- 素数、最大公约数、最下公倍数、质因数分解
2013-08-18 11:20:43 素数.最大公约数.最下公倍数.质因数分解都是与素数相关的,解决了素数的问题,其他的都可以此为基础求解. 小结: 求1到n之间的素数的基本方法是通过遍历2到sqr ...
- 质数判断及质因数分解 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 0和1不是质数 除了0,1,质数以外其他的数叫合数
题目: 质数判断及质因数分解 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 0和1不是质数 除了0,1,质数以外其他的数叫合数 代码部分: C++实现 #include ...
- C++实现质因数分解
质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数(质数):否则称为合数.根据算术基本定理,每一个比1大的整数,要 ...
- T^TOJ - 1251 - 。◕‿◕。TMD - 欧拉函数 - 质因数分解
http://www.fjutacm.com/Problem.jsp?pid=1251 想了很久,一开始居然还直接枚举因子d,计算重复了. 首先你要找与n的最大公因子大于m的x的个数. \[\sum\ ...
- 3164 质因数分解
3164 质因数分解 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description (多数据)给出t个数,求出它的质因子个数. 数据没 ...
最新文章
- android:activity的生命周期及它们之间的传值
- python获取硬件信息
- 030_SpringBoot全局属性配置文件
- Oracle-PL/SQL基础
- 前端面试题集锦(一)之HTML部分
- 如果你扯了团队后腿,你应该内疚
- linux相关英文书记,Linux常用软件(英文介绍)
- java循环树_for循环输出树木的形状【java】
- codeforces 600A Extract Numbers
- 文件比较软件修改比较文件时间戳方法
- Paper Reading: Re-ranking Person Re-identification with k-reciprocal Encoding
- 大数据方面核心技术有哪些?
- ubuntu系统克隆
- 【渝粤题库】国家开放大学2021春1089现代教育思想题目
- 0 -1 分布(两点分布)
- PHP Class - 图片水印
- 永恒之塔linux服务端,【永恒之塔单机5.8-6.5服务端】2020.06首发一键安装PC大型端游单机游戏客户端支持局域网联机玩[附视频搭建教程]...
- git新branch创建
- windows命令行XCOPY命令
- python爬虫,矢量数据地铁线路获取