【CodeVS】1792 分解质因数
1792 分解质因数
编写一个把整数N分解为质因数乘积的程序。
输入一个整数 N
输出 分解质因数 。拆成几个质数相乘的形式,质数必须从小到大相乘
756
756=2*2*3*3*3*7
范围在longint内。不是高精度。
随手水一个,它既然归到递归里,我也没办法,强行递归。。
#include<iostream>
#include<cstdio>
#include<cmath>
long long n;
int num[100000],cnt;
bool IsP(long long a)
{
int m=sqrt(a+0.1);
for(int i=2;i<=m;i++)
{
if(a%i==0)return false;
}
return true;
}
void dfs()
{
if(n==1)return;
for(int i=2;i<=n;i++)
{
if(n%i==0&&IsP(i))
{
num[cnt++]=i;
n/=i;
dfs();
}
}
}
int main()
{
scanf("%d",&n);
printf("%d=",n);
dfs();
for(int i=0;i<cnt-1;i++)
{
printf("%d*",num[i]);
}
printf("%d",num[cnt-1]);
return 0;
}
优化很多的。比如预处理打素数表,改成迭代。在这里不再赘述,因为实在只是玩玩水。。
【CodeVS】1792 分解质因数的更多相关文章
- codevs 1792 分解质因数
1792 分解质因数 题目描述 Description 编写一个把整数N分解为质因数乘积的程序. 输入描述 Input Description 输入一个整数 N 输出描述 Output Descr ...
- codevs:1792分解质因数:编写一个把整数N分解为质因数乘积的程序。
#include<iostream>#include<cstdio>using namespace std;int main(){ int i=2,n; scanf(" ...
- java分解质因数
package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小 ...
- 程序设计入门——C语言 第6周编程练习 1 分解质因数(5分)
1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...
- 【python】将一个正整数分解质因数
def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ...
- light oj 1236 分解质因数
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/H 题意:求满足1<=i<=j<=n ...
- 【基础数学】质数,约数,分解质因数,GCD,LCM
1.质数: 质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数. 2.约数: 如 ...
- 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m
给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后 ...
- cdoj 1246 每周一题 拆拆拆~ 分解质因数
拆拆拆~ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1246 Descri ...
随机推荐
- win10系统,vbox下安装centos6/7,挂载实现目录共享
用下载好的iso文件,新建虚拟机(所有步骤默认下一步即可). 我用的centos版本:CentOS-7-x86_64-Minimal-1908.iso ISO下载地址 设置虚拟机(指定好镜像后,先不要 ...
- 19-11-12-Aftern-℘
我饿死了,于是写写博客安慰一下即将退役的自己. ZJ: T1. 三种颜色,想到一道神奇的‘天空龙’. 于是觉得此题可做. 那好了. 于是切掉,还拿了一个暴力对拍.疯狂A. 啊dfs慢的要死了 T2一眼 ...
- Elasticsearch template学习
Elasticsearch template Elasticsearch存在一个关键问题就是索引的设置及字段的属性指定,最常见的问题就是,某个字段我们并不希望ES对其进行分词,但如果使用自动模板创建索 ...
- JS基础语法之DOM01(找标签、改属性样式)
DOM:暂时可以理解为找标签.改样式 1.BOM: 记住location这个就可以: location.href 获得当前页面的URL location.href = "URL" ...
- 从0开始学习ssh之日志工具与配置log4j
添加slf4j-api-1.6.1,slf4j-log4j12-1.6.1,log4j-1.2.15三个jar包到lib文件夹下就可以使用log4j日志文件.具体配置在log4j.properties ...
- File- Linux必学的60个命令
1.作用 件内容判断文件类型,使用权限是所有用户. 2.格式 file通过探测文 file [options] 文件名 3.[options]主要参数 -v:在标准输出后显示版本信息,并且退出. -z ...
- Ionic跳转到外网地址
1.安装插件 https://github.com/apache/cordova-plugin-inappbrowser 执行命令:cordova plugin add org.apache.cord ...
- ES5-ES8 数组拥有的方法
1.判断是否是数组 Array.isArray( arg ) 有兼容性 2.toString 数组转字符串 arr.toString(); 3.join 数组每一项间的拼接 arr.join(); S ...
- Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---模板方法模式之CoffeineBeverageWithHook[转]
模板方法模式定义了一个算法骨架,允许子类对算法的某个或某些步骤进行重写(override). 1 2{<HeadFirst设计模式>之模板方法模式 } 3{ 编译工具: Del ...
- python运~算~~符!!!!!!!!!!!
目录: 算术运算, 用于加减乘除等数学运算 赋值运算,用于接收运算符或方法调用返回的结果 比较运算, 用于做大小或等值比较运算 逻辑运算,用于做 与.或.非运算 位运算, 用于二进制运算 每种运算中所 ...