算法设计二第三周-递归函数

9人阅读 评论(0) 收藏 举报
分类:

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

输入标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 < N <= 50)。输出对于每组测试数据,输出N的划分数。样例输入
5
样例输出
7
提示
5, 4+1, 3+2, 3+1+1, 2+2+1, 2+1+1+1, 1+1+1+1+1

#include<iostream>
using namespace std;

int fun(int x,int y){
    if(x<y) return fun(x,x);
    if(x==0||y==1) return 1;
    return fun(x,y-1)+fun(x-y,y);
}
int main(){
    int n;
    while(cin>>n){
    cout<<fun(n,n)<<endl;
    }
    return 0;
}

include

include

using namespace std;
int fun(int n,int m)
{
if(n < 1|| m < 1)
return 0;
if(n == 1||m == 1)
return 1;
if(n < m)
return fun(n,n);
if(n == m)
return fun(n,m-1)+1;
if(n > m)
return fun(n,m-1) + fun(n-m,m);
}
int main(void)
{
int n=1,b[51],i=0;
char y;
do
{
scanf(“%d”,&b[i++]);
if(b[i]>50||b[i]<=0)
exit(0);
} while((y=getchar()) != ‘\n’);
for(int j = 0;j

#include<iostream>
#include <cstdio>
using namespace std;
int jishu(int a,int b){
    int a1 = a;
    a = a*3+1;
    b= a;
    printf("%d*3+1=%d\n",a1,a); 
    return b;
};
int oushu(int a,int b){
    int a1 = a;
    a = a/2;
    b= a;
    printf("%d/2=%d\n",a1,a);
    return b;
};
int main(){
    int a,b;
    scanf("%d",&a);
    while(b !=1) {
        if (a==1)
        {
            printf("End");
            break;
        };
        if(a%2==0)
              {
              oushu(a,b);
              b =  oushu(a,b);
              cout << b;
              }
        else
           {
           jishu(a,b);
           b=jishu(a,b);
          }
    };
    return 0;
}
查看评论

第5章 递归算法设计

基本概念 在定义一个函数时,出现调用自身函数的,称为递归(recursion)。 如果一个递归函数,最后一条语句是递归调用语句,则称这种递归调用为尾递归(tail recursion)。 一个递归模型...
  • jsxyg63
  • jsxyg63
  • 2017-10-21 20:22:46
  • 90

科目二学习第一天总结

今天是驾校学车科目二第一天,总结如下: 1. 直行出库左/右转 直行出库,当驾驶座出库时马上观察右侧后门车窗,继续出库,直到视线中车库右前杆和后门车窗右下角(车窗三角区的左下角)重合——现在后...
  • feiyunw
  • feiyunw
  • 2012-02-12 23:28:56
  • 3398

开学第三周总结

     这天早上终于把数学建模完成了,成功参赛!!! 昨晚没睡,但还可以!     又是一次失败的经历!一开始就没有认真对待,到了最后也没有抓紧!这是我的错!     反醒!     已经没有借口偷...
  • longmen23
  • longmen23
  • 2005-09-19 07:09:00
  • 667

工作三周了,说说感受

今天周六,加班,因为五一休息三天,所以本周多上一天。 刚来公司不久,公司的工作不算很忙,毕竟还没毕业,会的不算多,目前就是学习的状态。 在学校时想赶紧工作,工作后,许多人都认为还是学校好,是的,我...
  • w_y_loong
  • w_y_loong
  • 2012-04-28 09:37:19
  • 195

python第三周学习心得

函数 定义函数 函数的参数 用模块管理函数 面向对象编程基础 类和对象 定义类 函数 可以有效简化代码的重复程度。 定义函数 在Python中,可以使用def关键字来...
  • qq_41781927
  • qq_41781927
  • 2018-03-25 12:43:41
  • 17

大概知道为啥程序员被称为「码农」了

我大概知道为啥程序员被称为「码农」了书店整排都是计算机书,归在「农业百科」下面~ 「算法导论」超醒目,最右侧是计算机原理?(图来自@Lai_M 投稿)...
  • Px01Ih8
  • Px01Ih8
  • 2018-02-11 00:00:00
  • 350

Leetcode 算法设计 第十三周

62. Unique Paths A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the ...
  • Cindy_bunny
  • Cindy_bunny
  • 2017-11-28 20:52:21
  • 40

21天精通SQL

  • 2014年04月05日 21:17
  • 2.5MB
  • 下载

2007年第十八届希望杯八年级数学竞赛第一试试题

  • 2008年01月09日 15:39
  • 80KB
  • 下载

第三周程序阅读一

/*Copyright(c)2014,烟台大学计算机学院 *Allrights reserved. *文件名称:MADE2.cpp *作 者:张生栋 *完...
  • zhangshengdong111
  • zhangshengdong111
  • 2015-03-25 08:05:29
  • 132
    个人资料
    持之以恒
    等级:
    访问量: 4474
    积分: 460
    排名: 10万+
    最新评论