递归思想解决小问题

来源:互联网 发布:阿里备案域名购买 编辑:程序博客网 时间:2024/05/17 04:46
** 两个原则
*** 基准情形:总要有某些基准情形,它们不用递归就能求解
*** 不断推进:对于那些递归求解的情形,递归调用必须总能朝着产生基准情形接近
** 例子:用递归发打印数字”7234“
*** 思路:每一位数都通过取余取模获得,打印顺序为“7->2->3->4”,故打印4之前得先打印3,以此类推;
*** 实现:
#include <stdio.h>void test(int x){  int div,mod;  div = x / 10;  mod = x % 10;  if (div != 0)    test(div);  printf("%d",mod);}int main(void){  test(7234);  return 0;}

相同的场景还可以是:使用英文字典查单词word释义,结果翻译中“it means sentence”,“sentence”又是我不懂,接着我又查,以此类推。。。。
原创粉丝点击