当前位置: 代码迷 >> 综合 >> 2021.8.23杭州安恒机试——斐波那契数的迭代与判断
  详细解决方案

2021.8.23杭州安恒机试——斐波那契数的迭代与判断

热度:57   发布时间:2023-10-22 03:25:31.0

第一题:斐波那契数的迭代与判断。

#include <iostream>
using namespace std;int fab(int n)
{if(n==0)return 0;if (n == 1)return 1;if (n>=2)return fab(n - 1) + fab(n - 2);
}int isfab(int m)
{int result = 0;if (m == 0)return 1;for (int i = 0; fab(i)<m; i++){if (fab(i + 1) == m){result = 1;break;}}return result;
}int main()
{int n;cin >> n;if (isfab(n) == 1){printf("YES\n");}elseprintf("NO\n");system("pause");return 0;
}

第二题:输入字符串,然后将字符串倒置,不允许调用库函数和API

解题思路:用string 读取,然后利用size()获取size,使用[]运算符,双指针调换字符串内容。

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{string str;cin>>str;int i=0;int j = str.size()-1;while(i<j){swap(str[i],str[j]);i++;j--;}cout<<str<<endl;return 0;
}