1144: n的合成 [数学]
时间限制: 1 Sec 内存限制: 128 MB提交: 126 解决: 85
题目描述
这里有一个数组a,其中有n个元素,分别为{1,2,3,4,…,n-1,n}。
KACA从中选取两个不同的数字,使他们的和恰好为n。
KACA想知道满足这种取法的方案有多少种。
输入
每次测试有多组数据。
每一行有一个数n(0<n<10000)。
测试数据以一个0终止,这个0不需要处理。
输出
对于每个n,输出符合要求的取法的种类。
样例输入
3
5
0
样例输出
1
2
提示
对于n=5,有数组{1,2,3,4,5}。
所以满足要求的方案有两种:
1 + 4 = 5
2 + 3 = 5
解析:
找寻规律
n=1 0
n=2 0
n=3 1
n=4 1
n=5 2
n=6 2
. . . . . .
n (n-1)/2
程序如下
#include<cstdio>
int main()
{
int n;
while(scanf("%d",&n)&&n!=0)
{
printf("%d\n",(n-1)/2);
}
return 0;
}