【样例输入】 1*(3+4)/4 ((3+4)*7-(8-9) ((1+2)*(3_4)-(5+6)*3) {[}]() 【样例输出】 match not match match not match代码实现
时间: 2024-06-05 15:06:00 浏览: 64
这里给出一个简单的Python实现,使用栈来辅助匹配括号:
def check_brackets(s):
stack = []
for c in s:
if c in '([{':
stack.append(c)
elif c in ')]}':
if not stack:
return False
if (c == ')' and stack[-1] == '(') or \
(c == ']' and stack[-1] == '[') or \
(c == '}' and stack[-1] == '{'):
stack.pop()
else:
return False
return not stack
s = input()
if check_brackets(s):
print('match')
else:
print('not match')
相关问题
【样例输入】 1*(3+4)/4 ((3+4)*7-(8-9) ((1+2)*(3_4)-(5+6)*3) {[}]() 【样例输出】 match not match match not match
解释:
1. 1*(3 4)/4:左右括号数量相等,且内部没有其他括号,可以匹配,输出match。
2. ((3 4)*7-(8-9):左右括号数量相等,但是内部左右括号不匹配,输出not match。
3. ((1 2)*(3_4)-(5 6)*3):左右括号数量相等,内部左右括号也都匹配,输出match。
4. {[}]():左右括号数量不相等,输出not match。
C语言——计算交错序列 1-2/3+4/5-6/7+8/9-10/11+... 的前N项之和。
题目描述:
计算交错序列 1-2/3 4/5-6/7 8/9-10/11 ... 的前N项之和。
输入格式:
一个整数N(N<=100)
输出格式:
一个实数,表示序列的前N项之和,保留小数点后6位。
样例输入:
3
样例输出:
0.928968
提示:
交错序列的通项公式是:(-1)^(n+1)*((2*n-1)/(2*n))。
C语言代码:
#include <stdio.h>
int main()
{
int n;
double sum = 0.0;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
int j = 2 * i - 1;
if (i % 2 == 0)
{
sum -= 1.0 * j / (j + 1);
}
else
{
sum += 1.0 * j / (j + 1);
}
}
printf("%.6lf", sum);
return 0;
}
阅读全文