3456 三角形的个数
从键盘输入整数L,统计出边长为整数,周长为L的不等边三角形的个数,输入多组数据输出一个数
也是一道不算难的问题,一遍过(其实是两遍,第一遍测试数据用的几行忘记删掉了= =),而且程序和学校给的答案一样,我觉得自己太厉害了【其实是因为题水
记录一下思路
我的测试数据是14、15、16
首先,不等边三角形,所以15里的5 5 5不能计算在内。设三边分别为 i , j , 和L-i-j,当i大于5时必然导致重复,故初层循环里 i 不能大于L/3,同理,当 i 比 j 大时也会导致重复【这个我一开始没有考虑到】,然后在二层循环里进行判断
+++++++++++++++++++++++++++++++++
代码是这样的
#include
int main(void)
{
int L,i,j,sum;
while(scanf("%d",&L)!=EOF)
{
sum=0;
for(i=1;i<=L/3;i++)
for(j=1;j<=(L-i)/2;j++)
{
if(i+j<=L/2)continue;
else if(i==j&&j==L-i-j)continue;
else if(j>=i)
{
sum++;
}
}
printf("%d\n",sum);
}
}
网友评论