编写一个程序,确定满足以下条件的三个整数的组合数: 您应该从1到n中选择三个不同的整数。

题面(右边是自己写的没通过的代码)
编写一个程序,确定满足以下条件的三个整数的组合数:

您应该从1到n中选择三个不同的整数。
三个整数的总和是x。
例如,n=5和x=9有两种组合。

1 + 3 + 5 = 9
2 + 3 + 4 = 9

img


输入输出样例

img

验证过了,这个写法是正确的。

#include<stdio.h>
int main(){
    int n,x,i,j,num=0;
    while(scanf("%d %d",&n,&x)!=EOF){
        if(n==0&&x==0)break;
        num=0;
        for(i=n;i>x/3;i--){
            for(j=1;j<=(x-i)/2;j++){
                if(j!=x-i-j&&x-i-j<i)num++;
            }
        }
        printf("%d\n",num);
    }
    return 0;
}

这个就是循环的嵌套使用,用三个循环进行循环,然后满足条件的输出就可以了。大概思路就是这样,可以自己去尝试尝试,如果还是不会的话,可以再问我


#include<stdio.h>
int main()
{
    int i = 0,j,k,n,x,cnt=0;
    while (scanf_s("%d %d", &n, &x)!=EOF&&(n!=0||x!=0))
    {
        for (i = 1; i <= n; i++)
            for (j = i + 1; j <= n; j++)
                for (k = j + 1; k <= n; k++)
                    if (i + j + k == x)
                        cnt++;

        printf("%d\n", cnt);
    }
    return 0;
}