How many ways?
Write a program which identifies the number of combinations of three integers which satisfy the following conditions:
- You should select three distinct integers from 1 to n.
- A total sum of the three integers is x.
For example, there are two combinations for n = 5 and x = 9.
- 1 + 3 + 5 = 9
- 2 + 3 + 4 = 9
Input
The input consists of multiple datasets. For each dataset, two integers n and x are given in a line.
The input ends with two zeros for n and x respectively. Your program should not process for these terminal symbols.
Constraints
- 3 ≤ n ≤ 100
- 0 ≤ x ≤ 300
Output
For each dataset, print the number of combinations in a line.
Sample Input
5 9
0 0
Sample Output
2
問題を解く
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n = 0;
int x = 0;
int count = 0;
while (true) {
cin >> n >> x;
if (n == 0 && x == 0) break;
count = 0;
for (int i = 1; i < n + 1; i++)
{
for(int j = 1; j < n + 1; j++)
{
for (int k = 1; k < n + 1; k++)
{
if(i+j+k==x && i!=j && i!=k && j!=k) count++;
}
}
}
cout << count/6 << endl;
}
return 0;
}