欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

A. Candies and Two Sisters

程序员文章站 2022-04-01 09:37:18
...

题意
有两个姐妹爱丽丝和贝蒂。你有n个糖果。你想在两个姐妹之间分发这些糖果,
这样 爱丽丝将得到一个(a>0)糖果; 贝蒂会得到b(b>0)糖果;每个妹妹都会得到整数个糖果爱丽丝会得到比贝蒂更多的糖果(即a>b);所有的糖果将送给两个姐妹中的一个(即a+b=n)。 你的任务是用上面描述的方法计算出在姐妹间精确分发n个糖果的方法的数量。糖果是无法辨别的。 形式上,找出表示n的方法的数目,即n=a+b的和,其中a和b是正整数,a>b。
输入
输入的第一行包含一个整数t(1≤t≤104)-测试用例的数量。接下来是t个测试用例。
测试用例的唯一一行包含一个整数n(1≤n≤2⋅109)-您拥有的糖果数量。
输出
对于每个测试用例,打印答案-以问题陈述中描述的方式在两个姐妹之间精确分发n个糖果的方法数量。如果无法满足所有条件,请打印0。
解析
很简单的一道题,考虑几种情况就可
代码
#include
using namespace std;
int main()
{
int i;
cin >> i;
while (i–)
{
long long int a;
cin >> a;
if (a <= 2) cout << 0 << endl;
else
{
if (a%2>0)
cout << (a - a % 2) / 2 << endl;
else cout << a / 2 - 1 << endl;
}
}

return 0;

}