A. Candies and Two Sisters
题目链接:http://codeforces.com/problemset/problem/1335/A
1335A. Candies and Two Sisters
time limit per test1 second
memory limit per test
256 megabytes
inputstandard input
outputstandard output
题意
There are two sisters Alice and Betty. You have nn candies. You want to distribute these nn candies between two sisters in such a way that:
Alice will get aa (a>0a>0) candies;
Betty will get bb (b>0b>0) candies;
each sister will get some integer number of candies;
Alice will get a greater amount of candies than Betty (i.e. a>ba>b);
all the candies will be given to one of two sisters (i.e. a+b=na+b=n).
Your task is to calculate the number of ways to distribute exactly nn candies between sisters in a way described above. Candies are indistinguishable.
Formally, find the number of ways to represent nn as the sum of n=a+bn=a+b, where aa and bb are positive integers and a>ba>b.
You have to answer tt independent test cases.
输入描述
Input
The first line of the input contains one integer tt (1≤t≤1041≤t≤104) — the number of test cases. Then tt test cases follow.
The only line of a test case contains one integer nn (1≤n≤2⋅1091≤n≤2⋅109) — the number of candies you have.
输出描述
Output
For each test case, print the answer — the number of ways to distribute exactly nn candies between two sisters in a way described in the problem statement. If there is no way to satisfy all the conditions, print 00.
样例
Example
input
6
7
1
2
3
2000000000
763243547
output
3
0
0
1
999999999
381621773
Note
For the test case of the example, the 33 possible ways to distribute candies are:
a=6, b=1
a=5, b=2
a=4,b=3
题意:输出一个数字,将其分解为两个数字,且a>b,计算共有多少种分解方法
思路:(m-1)/2就是共有这么多种分解方法
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,n,m,t;
cin>>n;
for(int i=0;i<n;i++)
{cin>>m;
t=(m-1)/2;
printf("%d\n",t);}
return 0;
}
上一篇: 【Unity 笔记】PlayerPrefs 数据存储
下一篇: ZOJ 1608