Triangle
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0
Problem Description
Mr. Frog has n sticks, whose lengths are 1,2, 3
⋯n respectively. Wallice is a bad man, so he does not want Mr. Frog to form a triangle with three of the sticks here. He decides to steal some sticks! Output the minimal number of sticks he should steal so that Mr. Frog cannot form a triangle with
any three of the remaining sticks.
any three of the remaining sticks.
Input
The first line contains only one integer T (
T≤20), which indicates the number of test cases.
For each test case, there is only one line describing the given integer n ( 1≤n≤20).
For each test case, there is only one line describing the given integer n ( 1≤n≤20).
Output
For each test case, output one line “Case #x: y”, where x is the case number (starting from 1), y is the minimal number of sticks Wallice should steal.
Sample Input
3 4 5 6
Sample Output
Case #1: 1 Case #2: 1 Case #3: 2
根据三角形两边之和大于第三边,求出其能留下的数
其它的数删掉
1
2 3 4 5
6 7 8
9 10 11 12 13 14
15 16 17 18 19 20
#include<string.h>
#include<stdio.h>
#include<math.h>
int main()
{
int f[30],i,a[30],n;
f[1]=f[2]=f[3]=0;
f[4]=f[5]=1;
for(i=6;i<=20;i++)
{
if(i==5||i==8||i==13)
f[i]=f[i-1];
else
f[i]=f[i-1]+1;
}
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
printf("Case #%d: %d\n",i,f[a[i]]);
return 0;
}