整数因子分解问题

原创 2018年04月15日 11:54:14

整数因子分解问题

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

大于1的正整数n可以分解为:n=x1*x2*…*xm。例如,当n=12 时,共有8 种不同的分解式: 
12=12; 
12=6*2; 
12=4*3; 
12=3*4; 
12=3*2*2; 
12=2*6; 
12=2*3*2; 
12=2*2*3。
对于给定的正整数n,计算n共有多少种不同的分解式。

Input

输入数据只有一行,有1个正整数n (1≤n≤2000000000)。

Output

将计算出的不同的分解式数输出。

Sample Input

12

Sample Output

8

Hint

#include <iostream>
#include <map>
#include <math.h>

using namespace std;

map<int ,int> a;

int f(int n)
{
    if(n==1)
        return 1;
    if(a[n])
        return a[n];
    int count=1;

    for(int i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)//i是n的因子
        {
            count=count+f(i);
            if(i!=n/i)//搜索另一个不同的因子
            {
                count=count+f(n/i);
            }
        }
    }
    a[n]=count;
    return count;
}

int main()
{
    int n;
    scanf("%d",&n);
    printf("%d",f(n));
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Matrix97/article/details/79947984

整数因子分解问题--递归--动态规划

算法实现题 整数因子分解问题 问题描述:     大于 1 的正整数 n 可以分解为:n=x1*x2*…*xm。 实现代码如下: #include #include ...
  • yjy188
  • yjy188
  • 2015-04-07 14:25:50
  • 726

整数因子分解问题的递归算法

  • 2009年03月15日 18:19
  • 170KB
  • 下载

整数因子分解问题(分治法\C++实现)

  • 2012年11月01日 14:39
  • 225B
  • 下载

整数因子的分解

感谢!  一、相关概念  素数:又叫质数,就是只能被1和自己整除的整数。例如:2,3,5,7……. 合数:与素数相对,即除了能被1和自己整除还能被其他整数整除的整数。例如:4,6,8,9...
  • HowardEmily
  • HowardEmily
  • 2017-03-24 00:41:31
  • 512

sdut-1722整数因子分解问题

Problem Description 大于1的正整数n可以分解为:n=x1*x2*…*xm。例如,当n=12 时,共有8 种不同的分解式: 12=12; 12=6*2; 12=4*3;...
  • qq_36459536
  • qq_36459536
  • 2018-02-26 10:57:08
  • 42

整数因子的分解问题--java

import java.util.Scanner; /**  * 整数因子分解  * @author Administrator  *  */ public class IntegerDivide...
  • chris_paul3
  • chris_paul3
  • 2013-11-15 20:07:11
  • 987

整数因子分解(转)

整数因子分解(转) 相对于素数判定来说,因子分解的实现就没办法达到那么快速了。因子分解至今仍没有类似于素数判定的多项式算法,这也成为了RSA公钥系统安全得以保障的基础。鉴于...
  • lishuiwang
  • lishuiwang
  • 2009-09-16 23:18:00
  • 9836

整数因子分解:计算一个整数所有的分解式(递归实现)

原始问题描述: 对于给定的正整数n,计算n有多少种不同的分解式。 例如,当n=12时,有8种不同的分解式: 12=12,  12=6×2,  12=4×3,  12=3×4,  12=3×2×2,  ...
  • qingsong3333
  • qingsong3333
  • 2012-03-13 15:06:06
  • 2814

9718 整数因子分解(递归、备忘录法)

9718 整数因子分解(必做) 时间限制:1000MS  内存限制:1000K 提交次数:0 通过次数:0 题型: 编程题   语言: C++;C;VC;JAVA ...
  • u013571487
  • u013571487
  • 2014-10-29 17:16:51
  • 1455

南邮 OJ 1219 整数因子分解问题

整数因子分解问题 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte 总提交 : 103            测试通...
  • changshu1
  • changshu1
  • 2015-08-05 11:14:23
  • 227
收藏助手
不良信息举报
您举报文章:整数因子分解问题
举报原因:
原因补充:

(最多只允许输入30个字)