`

递归算法 简单的例子

 
阅读更多
题目:设计输出如下形式数值的算法,再把算法设计成递归结构算法。
1
22
333
4444
55555
.......
........
nnnnnnnnnnnnnn
普通算法                            
#include "stdio.h"
int bu(int n)
{
int i,j,k;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%d",i);
printf("\n");
}
getch();
}
void main()
{
clrscr();
bu(8);

递归算法
#include "stdio.h"    
long int bu(int n)
{   long int y;
int i;
  if(n<1)
  { printf("error");
  return;
  }
  if(n==1)
    {
  printf("%d\n",n);
  return n;
  }
  else
  {
    y=bu(n-1);
  for(i=0;i<n;i++)
    printf("%d",y+1);
    printf("\n");
     return n;
    }
    }
    void main()
    {          clrscr();
      bu(8);
      }
二分法在有序数组中查找的递归运算。
普通算法

#include "stdio.h"
int serv(int x,int left,int right ,int w[])
{
  int mid ;
    while(left<=right)
   {
     mid=(left+right)/2;
     if(w[mid]==x) return mid;
      if(w[mid]<x)
     left=mid+1 ;
     else right= mid-1;
if(left>right) return -1;
     }
  }
void main()
{
int x=17;
int w[9]={2,5,7,9,11,13,17,22,24};
int left=0;
int right =sizeof(w)/2-1;
int t;
clrscr();
t=serv(x,left,right,w);
if(t==-1)  printf("wufazhaodao\n");
else printf("x zai w zhong %d\n",t);
}
递归算法
      #include "stdio.h"
int serch(int x,int left,int right,int w[])
{
  int mid;
if(left>right) return -1;
  mid =(left+right)/2;
  if(w[mid]==x) return mid;
  if(w[mid]<x)
  {
     left=mid+1 ;
    serch(x,left,right,w);
   }
else {  right= mid-1;
   serch(x,left,right,w);
     }
     }
void main()
{
  int x=17;
int w[8]={2,5,7,9,11,13,17,22};
int left=0;
int right =sizeof(w)/2-1;
int t;
t=serch(x,left,right,w);
if(t==-1)  printf("wufazhaodao\n");
else printf("x zai w zhong %d",t);

分享到:
评论

相关推荐

    5!递归算法和非递归算法

    为了更好地理解递归与非递归算法的区别,我们可以通过计算阶乘的例子来具体分析: #### 递归算法示例 ```java public class DiGui { public static void main(String[] args) { System.out.println(f(5)); } ...

    VB 递归算法例子

    在这个“VB 递归算法例子”中,我们主要探讨如何使用VB来实现递归,并以一个具体的实例——生成数字三角形——来阐述其工作原理。 递归算法的核心在于它解决问题的方式:通过将复杂问题分解为更小的子问题,直到子...

    acm递归算法总结竞赛

    在ACM(国际大学生程序设计竞赛)中,递归算法是一种常见的解决问题的方法,它通过函数自身调用自身来实现问题的解决。递归的核心在于找到基本情况(base case),即可以直接求解的问题,以及每次递归调用时问题规模...

    递归算法专题ppt

    ### 递归算法专题知识点详解 #### 一、递归算法原理 递归算法是一种将问题分解成子问题的方法,其中子问题与原问题性质相同但规模较小。递归算法的关键在于识别出能够通过递归解决的问题,并找到递归的基本情况...

    java编写的递归算法的经典事例

    ### Java编写的递归算法的经典事例:全排列输出 #### 概述 本文将详细介绍一个用Java编写的递归算法实例,该实例用于实现字符数组的所有可能全排列。通过这个例子,我们可以深入理解递归的基本概念、工作原理以及...

    程序设计中递归算法

    ### 递归算法在程序设计中的应用 #### 一、递归的概念与本质 递归是一种重要的编程思想,在计算机科学和数学领域都有广泛的应用。它指的是一个过程或函数直接或间接地调用自身来解决问题的方法。递归的核心在于将...

    递归算法事例及理论说明

    另一个例子是将整数转换为特定进制的表示,这个任务可以使用递归算法实现。给定的代码示例中,`numbconv`函数接收一个整数n,将其转换为指定进制b,并将结果保存在字符串s中。这个函数首先通过递归调用处理n除以b的...

    递归算法的详解,各种常见递归算法

    递归算法是一种强大的编程技术,它通过函数或过程在解决问题时调用自身来解决更小规模的相同问题。递归的基本概念在于一个函数在定义中包含对自身的引用,或者问题的解决方案依赖于较小规模问题的解决方案。在程序...

    使用C++,请给出此题的递归算法及非递归算法。

    递归在解决分治策略、树遍历等问题时特别有用,而非递归算法则更适合处理那些可以通过简单循环解决的问题。 总结来说,C++中的递归算法和非递归算法各有优势和应用场景。在实际编程中,理解这两种方法的原理,结合...

    利用递归算法求阶乘(VB6.0源代码)利用递归算法求阶乘

    在这个例子中,递归算法有效地解决了阶乘问题,但需要注意的是,递归方法可能会占用大量内存,特别是对于大数值,因为每个递归调用都会在内存中创建一个新的栈帧。因此,在实际应用中,非递归方法(如循环)可能更...

    折半查找的递归算法

    以下是一个使用C语言实现折半查找递归算法的具体例子: ```c #include // 定义结构体用于存储数组及长度 typedef struct { int a[100]; int length; } SSTable; SSTable st; // 构建顺序表 void creat(int k) ...

    VB 递归算法例子.rar

    VB(Visual Basic)是一种由微软开发的面向对象的编程语言,尤其适合于初学者和快速开发应用程序。...通过研究和实践这个VB递归算法例子,开发者可以更深入地理解递归工作原理,并将其应用于实际项目中。

    基础算法 第4章 递归算法(C++版)-2022.01.27(C).pdf

    7. 递归算法的例子 例1:计算1+2+3+4+…+(n-1)+n的递归算法。 ``` #include using namespace std; int fac(int); int main(void) { int t; cin &gt;&gt; t; cout (t) ; } int fac(int n) { if (n == 1) return 1;...

    关于递归算法时间复杂度分析的探讨.pdf

    关于递归算法时间复杂度分析的探讨,是一个深入理解算法效率和优化的关键议题。递归,作为解决问题的一种强大工具,其本质是将复杂问题分解为更简单的子问题,通过求解这些子问题来达到最终解决方案的目的。然而,...

    程序2_delphi_milemut_递归算法_

    在编程领域,递归算法是一种强大的工具,尤其在处理树形结构或遍历目录时显得尤为重要。本项目“程序2_delphi_milemut_递归算法”是使用Delphi编程语言实现的一个应用,旨在通过递归方法列出指定目录“C:\Windows\...

    易语言递归算法求阶乘

    在编程领域,递归算法是一种基于函数自我调用的解决问题的方法。它通常用于解决那些可以被简化为相同问题子集的问题。"易语言"是中国的一种简单易学的编程语言,旨在降低编程难度,让更多人能接触编程。在这个场景中...

    Python基于递归算法实现的走迷宫问题

    接下来,我们将通过一个具体的例子——走迷宫问题,来进一步了解递归算法的应用。 ##### 2.1 迷宫问题定义 假设有一个由0和1组成的二维数组,其中1代表可以通过的道路,0代表墙壁不可通过。问题是从某个起始位置...

    经典实例讲解C#递归算法

    【C#递归算法详解】 递归算法是编程中一种重要的技术,特别是在C#这样的面向对象语言中。它涉及到函数自身调用自身的过程,通过解决更小规模的问题来解决整个问题。递归算法的核心概念包括两个关键部分:基础情况...

    用递归算法实现整数逆序

    通过递归算法实现整数逆序是一个简单而有趣的例子,它展示了递归在实际编程中的应用。递归不仅可以使代码更加简洁,而且对于某些特定类型的问题来说,递归往往是最佳解决方案。当然,在实际开发中还需要考虑性能和...

Global site tag (gtag.js) - Google Analytics