懂点GCD的栈
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
公约数,亦称"公因数"。 则是最大公因数。
它是指能同时整除几个整数的数。如果一个整数同时是几个整数的约数,称这个整数为它们的"公约数"。
公约数中最大的称为最大公约数。
初始有一个为空的栈,进行 次操作,操作分为以下四种:
1.在栈顶放入一个元素 ()
2.删除栈顶元素(数据保证此时栈内至少有一个元素)
3.查询栈顶元素
4.将栈顶的 个元素修改成他们的最大公约数(数据保证 不超过栈中元素数量)(比如栈内元素是4,2,将栈顶的2个元素修改成他们的最大公约数,栈内元素是2,2)
输入格式
第一行一个正整数,
接下来的q行,每行包括一到两个整数,第一个整数 表示操作类型:
当 时,该行会有第二个整数 ,表示在栈顶放入元素
当 时,该行只有一个整数 ,表示删除此时栈顶的元素(数据保证此时栈内至少有一个元素)
当 时,该行只有一个整数 ,此时你需要输出栈顶的元素
当 时,该行会有第二个整数 ,表示在将栈顶的 个元素修改成他们的最大公约数(数据保证 不超过栈中元素数量)
输出格式
对于每个 的询问,分别输出一行 ,表示此时栈顶的元素
输入输出样例
11
1 2
1 3
3
4 2
3
2
1 2
4 2
3
2
3
3
1
1
1
提示
如果栈为空时询问栈顶元素请输出零