下面的程序分别实现了使用LCS求连续子串和不连续子串的匹配情况!//查找两个字符串中的最长公共子串 //例如:abcdef 和 bdf 最长公共子串长度是3 //f(n,m)=f(n-1,m-1)+1 如果两个字符串的第一个字母相等 // =max(f(n-1,m),f(n,m-1)) 如果两个字符串的第一个字母不相等 //递归最后的条件是f(n,0)=f(0,m
编程输出形如上面的程序。输出n行的数字,第i行有2*i-1个数字,第一行的1出现在第n个位置上(行列都从1开始计数),从第2行开始i行j列的元素等于i-1行j-1列的元素与i+1行j+1列的元素之和,然后数字之间输出空格即可。#include<iostream> #include<cstring> using namespace std; #define N 20
斐波那契数列的经典解法是采用递归的方式:f(n)=f(n-1)+f(n-2) n>2f(1)=1 n=1f(2)=1 n=2按照这个思路可以写出递归算法:#include<iostream> using namespace std; int fabonacci(int n){
本题的思路是:当有一个金盘的时候直接从A搬到C即可,当有不止一个金盘的时候,把n-1个金盘搬到B,然后把最后一个盘子搬到C,再把剩下的盘子从B搬到C,即有A->B,B->C,A->C的过程,按照这个思路可以写出下面的代码来解决问题。#include<iostream> using namespace std; void hanoi(int n,char A,cha
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号