二十四:数字拆解

Posted 玉汝于成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二十四:数字拆解相关的知识,希望对你有一定的参考价值。

问题 : 数字拆解
题目描述

给出一个数M,求M通过比M小的数的的加法,有多少种方法。
比如给出的数是6
那么,M可以由
1. 5+1=6
2. 4+2=6
3. 4+1+1=6
4. 3+3=6
5. 3+2+1=6
6. 3+1+1+1=6
7. 2+2+2=6
8. 2+2+1+1=6
9. 2+1+1+1+1=6
10. 1+1+1+1+1+1=6
共10种方法。
输入
一个数M(M小于50)
输出
一个数,表示有多少种方法
样例输入
6
样例输出

10

 1 #include<stdio.h>
 2 #include<windows.h>
 3 int line=0;
 4 void fun(int n,int sum,int i){
 5     int a;
 6     for(int j=1;j<=i;j++){
 7         a=sum;
 8         a=a+j;
 9         
10         if(n==a){
11             line++;
12             //Sleep(1000);
13             return;
14         }else{
15             //    Sleep(1000);
16             fun(n,a,j);    
17         }
18     }
19 }
20 int main(){
21     int n,sum;
22     scanf("%d",&n);
23     for(int i=1;i<n;i++){
24         sum=i;
25         fun(n,sum,i);
26     }
27     printf("%d",line);
28 }

 

以上是关于二十四:数字拆解的主要内容,如果未能解决你的问题,请参考以下文章

CCF 201903-2 二十四点 100分

数字孪生制造二十四| 人工智能驱动的自感知制造

Unity 游戏框架搭建 2019 (二十二十四) 备份与版本号&危险的操作

ccf20190302-二十四点

剑指offer(二十三,二十四,二十五)最小的k个数,连续子数组的最大和,链表中环的入口节点

ccf 201903-2 二十四点 python