复式上机试题
Landing Guy
这个作者很懒,什么都没留下…
展开
-
字符串中的括号匹配c++实现
设计思路:(1) 如果是左括号则压入栈中。(2) 如果是右括号,则将一个左括号从栈中弹出,匹配一对。若此时栈中无元素,那么这个右括号没有匹配的左括号。最后,如果栈不为空,则有左括号没有匹配。首先用编写函数isLeft(),isRight()来找出字符串中的左括号和右括号。bool isLeft(char c){ return c=='(' || c=='[' || c=='{';}bool isRight(char c){ return c==')' || c==']' || c原创 2021-02-28 20:02:48 · 1373 阅读 · 0 评论 -
斐波那契数列
复试上机编程题练习2.斐波那契数列斐波那契数列特点:0、1、1、2、3、5、8、13、21、34、……F(1)=1;F(2)=1;F(n)=F(n-1)+F(n-2)。因此可由递归方法得到。int f(int i){ if(i == 1||i == 2) return 1; else return f(i-1)+f(i-2);}int main(){ int i; while(cin>>i) { cout<<f(i)<<endl; }原创 2021-02-10 17:07:08 · 117 阅读 · 0 评论 -
找三个数中的最大公约数
复试上级编程题练习1.找三个数中的最大公约数这里用到一个定理:辗转相除法也称为欧几里得算法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。int gcd(int a,int b){ int r; r = a%b; while(r!=0) { a = b; b = r; r = a%b; } return b; }要求三个数的最大公约数即先求两个数的最大公约数再与第三个数进行求解原创 2021-02-06 17:10:48 · 6879 阅读 · 2 评论