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

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

#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");
	}
	else
		printf("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;
}

猜你喜欢

转载自blog.csdn.net/qq_34935373/article/details/108180484