刘自铭


私信TA

用户名:liuziming

访问量:5517

签 名:

等  级
排  名 22172
经  验 622
参赛次数 1
文章发表 1
年  龄 0
在职情况 学生
学  校 中国计量大学
专  业

  自我简介:

解题思路其实我是错误答案,我只想问问哪错了,在低数值的情况下可以算出正确答案

注意事项:不明白


参考代码:

#include<stdio.h>
int fow(int i,int k);
int j(int n);
int C(int m,int n);
int main()
{
 int i,n,sum=0,k,m;
 scanf("%d%d%d",&n,&m,&k);
 for(i=1;i<=n;i++)
 {
  sum=sum+C(n,i)*C(n,m)*fow(i,k);
 }
 printf("%d\n",sum%999101);
}
int fow(int i,int k)
{
 int j,sum=1;
 for(j=1;j<=k;j++)
 {
  sum=sum*i;
 }
 return sum;
}
int j(int n)
{
 int sum=1,i;
 for(i=1;i<=n;i++)
 {
  sum=sum*i;
 }
 return sum;
}
int C(int m,int n)
{
 int sum;
 sum=j(m)/j(n)/j(m-n);
 return sum;
}

 

0.0分

8 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

请问有人写出来了吗
2023-03-26 16:43:58
#include<stdio.h>
#include<math.h>
int fun(int n,int i)
{

	if(n>=1&&i>0)
		return n * fun(n - 1,--i);
	else
		return 1;
}
int main()
{
	int i, j, n, m, k, c;
	double sum = 0;
	scanf("%d%d%d", &n, &m, &k);
	c = fun(n,m) / fun(m,m);
	for (i = 1; i <= n; i++)
	{
		double a = pow(i, k);
		unsigned long b = fun(n,i)/fun(i,i);
		sum = sum + a * b;
	}
	sum = sum*c;
	unsigned long d = (unsigned long)sum;
	d = d % 999101;
	printf("%d", d);
	return 0;
}
可以运行出来,但是提交说运行错误,怎么解决,哪里有问题?求大佬告知
2022-07-05 12:37:13
int sum则sum<2147483647。输入大的话会溢出。所以这里sum应该用double定义会更好。如果真是这样的话这题的难点在于取余。因为 [int]%[int]是合法的,[double]%[int]是不合法的。
2019-11-08 22:52:34
n在十进制下不超过1000位,而单纯的一个六十四位的无符号整形型最大是 2^64-1是 18,446,744,073,709,511,615 也才20位,远远不够1000位
2019-03-08 23:17:48
对的

#include<stdio.h>
int main()
{
	int a,b,c=1,i,i1,m,n,k,sum=0,n1=1,m1=1,nm=1,ii=1,ni=1;
	scanf("%d %d %d",&n,&m,&k);
	
	for (i=0;i<=n;i++)
	{
		c=1,n1=1,m1=1,nm=1,ii=1,ni=1;
		for(i1=1;i1<=n;i1++)
		{
			n1=n1*i1;
		}
			for(i1=1;i1<=m;i1++)
		{
			m1=m1*i1;
		}
			for(i1=1;i1<=n-m;i1++)
		{
			nm=nm*i1;
		}
		b=n1/m1/nm;
		
			for(i1=1;i1<=i;i1++)
		{
			ii=ii*i1;
		}
			for(i1=1;i1<=n-i;i1++)
		{
			ni=ni*i1;
		}
		a=n1/ii/ni;
		
		for (i1=1;i1<=k;i1++)
		{
			c=c*i;
		}
	
		sum=sum+a*b*c;
	}
	    printf("%d",sum);
	
	return 0;
	
}
2019-02-25 14:47:51
要发 就发对
2018-11-02 20:53:47
对于100%的数据,n在十进制下不超过1000位
2018-06-18 22:45:12
  • «
  • 1
  • »