gpt4 book ai didi

组合公式 "n!/((n-k)!*k!)"不起作用

转载 作者:行者123 更新时间:2023-11-30 21:43:03 25 4
gpt4 key购买 nike

为什么是=n!/((n-k)!*k!) 不打印?

这段代码还能解决下面的问题吗?

卡住了。

"The number of combinations of n things taken k at a time as an integer"

再澄清一下:“例如,a、b、c、d这四项一次取三项的组合是abc、abd、acd、bcd。也就是说,一共有四种不同的四件事的组合“一次采取三件事”。”

#include <stdio.h>
#include <math.h>

int main (void)
{
int z = 0, n_in, k_in, k = 0, n = 0, result, nfr = 0, kfr = 0;

do
{
printf("Enter the number of items in the list (n):");
scanf("%d*c", &n_in);

if (n_in>1 && n_in<11)
{

printf("Enter the number of items to choose (k)");
scanf("%d*c", &k_in);

if (k_in>0 && k_in<5)
{

if (k_in <= n_in)
{

k_in = k;
n_in = n;


result = n! / ((n-k)!*k!);


z = 1;

}

else
printf("?Please Try again k must be less than n \n");
}

else
printf("?Invalid input: Number must be between 1 and 4 \n");

}

else
printf("?Invalid input: Number must be between 1 and 10 \n");


} while (z == 0);

result = (nfr / (nfr * kfr));
printf("k value = %d n value = %d the result is %d", nfr, kfr, result);


return 0;
}

最佳答案

这一行:

result = n! / ((n-k)!*k!);

...不是有效的 C 代码。 ! 在 C 中表示“不”。

您需要提供a factorial function这样您就可以调用:

  result = factorial(n) / (factorial(n-k) * factorial(k));

关于组合公式 "n!/((n-k)!*k!)"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com