3456 三角形的个数

2020-05-07  本文已影响0人  小魔头麻麻

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);

}

}

上一篇下一篇

猜你喜欢

热点阅读