蓝桥杯备赛打卡Day13

复习算法基础课数论
1.试除法判定质数
2.分解质因数
3.筛质数
4.约数之和
5.快速幂

完成蓝桥杯每日一题
1.正则问题(递归,中等题)

以下是部分题目的代码

//正则问题
string str;
int len, cur;//cur设为全局变量,以便数组顺利遍历

int dfs()
{
	int res = 0;

	while (cur < len)//相比for循环,用while可以灵活改变索引
	{
		if (str[cur] == '(')
		{
			cur++;//在外部改变下标而不是改变dfs的参数
			res += dfs();
			cur++;//细节,遇到')'不会改变下标,需要手动加上
		}
		else if (str[cur] == ')')
		{
			break;
		}
		else if (str[cur] == '|')
		{
			cur++;
			res=max(res, dfs());
		}
		else
		{
			cur++;
			res++;
		}
	}

	return res;//放到最后
}

int main()
{
	ios::sync_with_stdio(false);
	cin >> str; len = str.length();
	cout << dfs() << endl;
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值