zoukankan      html  css  js  c++  java
  • 简单的整数划分问题

    总时间限制:1000ms 内存限制: 65536kB

    描述

    将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。
    正整数n 的这种表示称为正整数n 的划分。正整数n 的不同的划分个数称为正整数n 的划分数。

    输入

    标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 < N <= 50)。

    输出

    对于每组测试数据,输出N的划分数。

    样例输入

    5

    样例输出

    7


    ac代码

    /*
    @File     :   integer_division.cpp
    @Time     :   2020/04/14 11:22:09
    @Desc     :   简单的整数划分问题
    */
    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
    int get_num_to_integer_division(int num, int m)
    {
        if(num == 1||m == 1) return 1;
        else if (num == m) return get_num_to_integer_division(num,num-1) + 1;
        else if (num < m) return get_num_to_integer_division(num,num);
        else return get_num_to_integer_division(num,m-1) + get_num_to_integer_division(num-m,m);
    }
    int main(int argc, char const *argv[])
    {
        int n;
        while (cin >> n)
        {
            cout << get_num_to_integer_division(n,n) << endl;
        }
        system("pause");
        return 0;
    }
    
  • 相关阅读:
    Android BitmapFactory.Options
    Android TabHost
    Android 黑色样式menu
    Android Tab与TabHost
    Android Theme
    Activity 四种launchMode
    IOS xcode安装
    BaseActivity合集
    自定义BaseActivity
    Fragment 底部菜单栏
  • 原文地址:https://www.cnblogs.com/levarz/p/12781557.html
Copyright © 2011-2022 走看看