这个三角形的代码我不理解为什么这么做,怎么就能不能重复

img


#include<stdio.h>
2
int main()
3
{
4
    int n,x,y,z,i;
5
    scanf("%d,%d,%d,%d,%d",&n,&x,&y,&z,&i);
6
    i=0;
7
    z=0;
8
    for(int x=1;x<=(n/3);x++)
9
    {
10
        for(int y=0;y<x;y++)
11
        {
12
            z=(n-x-y)/2;
13
            if(2*z+x+y==n&&z>=x)
14
            {
15
                i++;
16
            }
17
        }
18
    }
19
    printf("%d",i);
20
    return 0;
21
}

怎么输入这么多数,题目是只输入一个n

int main()
{
    int n,z,i=0;
    scanf("%d",&n);
 for(int x=1;x<=n/3;x++)

    {

        for(int y=1;y<=(n-x)/2;y++)

        {

            z=n-x-y;

            if(x+y>z)

            {

                i++;

            }

        }

    }
    printf("%d",i);

}

组成三角形的任意两边的长度大于第三边