【前言】
今天是刷题打卡第61天!
加油干叭铁汁们。
原题:按顺序打印i~j(递归)
思路:
找重复:(i + 1)是原问题的重复,规模更小,是其子问题
找变化:i 和 j,i在变化不难看出,但为什么要加上j呢,j虽然没有变化,但是i~j这个整体在变,‘i’ 到'j' 的距离不断缩小,所以要加上j来衡量它们二者之间的变化
找边界:当 i > j 时结束
代码执行:
//打印i~j #include<stdio.h> void print(int i, int j) { //找重复:print(i+1,j)是原问题的子问题 //找边界 if (i > j) return; printf("%d ", i); print(i + 1, j); } int main() { int i = 0; int j = 0; scanf("%d %d", &i, &j); print(i, j); return 0; }
结语
今天是刷题打卡第61天!
加油吧少年。