【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 ...
随机推荐
- 我眼中javascript的这些年
写了两年多的js了吧,一开始的目标并没有很学术,我只想安安静静做个很厉害的开发者.但是总是沉溺在一种语言里,会让人误以为这种语言很厉害,就像只在村子里混的话,我觉得我自己可以逆天,村外有人,编程世界也 ...
- <meta>标记
<meta>的主要作用: 是提供网页的元素信息 属性: http-equiv: 功能: 默认http协议文件头信息,当信息从服务器端传到客户端时,让浏览器正确的是显示, http_equi ...
- 《DSP using MATLAB》Problem 8.11
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 用this 对方法的扩展
*都是静态方法 this指向的是调用的object*
- Mahout In Action-第一章:初识Mahout
1. 初识Mahout 本章涵盖以下内容: Apache Mahout是什么? 现实中推荐系统引擎.聚类.分类概述 配置mahout 读者可能从本书的标题中猜测到,本书是一本讲解如何将mahout应用 ...
- CodeForces - 1087D
CodeForces - 1087Dhttps://vjudge.net/problem/2115151/origin2*和/叶子结点的个数 #include<iostream> #inc ...
- Python数据分析入门与实践
Python数据分析入门与实践 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关 ...
- shell中各种括号的作用详解()、(())、[]、[[]]、{}
一.小括号,圆括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号, ...
- Python中函数的定义必须在调用的前面
# -*- coding:utf-8 -*- Python中函数的定义必须在调用的前面,但是在函数的内部调用一个函数,不用考虑顺序,只要被调用的函数被定义了即可 #标准的先函数定义,后函数调用def ...
- Leetcode216. Combination Sum III组合总数3
找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字都是正整数. 解集不能包含重复的组合. 示例 1: 输入: k = ...