⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pnextcalc.c

📁 组合数的计算.黑糊糊黑糊糊黑糊糊后
💻 C
字号:
#include<stdio.h>
#include<malloc.h>
#define MAXN 1000
void pnext(int a[],int k)/*已知a[]中的(k-1)!,求k!*/
{
	int *b,m=a[0],i,j,r,carry;
	b=(int *)malloc(sizeof(int)*(m+1));
	for(i=1;i<=m;i++) b[i]=a[i];
	for(j=1;j<k;j++){/*控制累加k-1次*/
		for(carry=0,i=1;i<=m;i++){
			r=(i<=a[0]?a[i]+b[i]:a[i])+carry;
			a[i]=r%10;
			carry=r/10;
		}
	if(carry) a[++m]=carry;
	}
	free(b);
	a[0]=m;
}
void write(int *a,int k)
{
	int i;
	printf("%4d!= ",k);
	for(i=a[0];i>0;i--) printf("%d",a[i]);
	printf("\n\n");
}
void main()
{
	int a[MAXN],n,k;
	printf("Enter the number n:  ");
	scanf("%d",&n);
	a[0]=1;a[1]=1;write(a,1);
	for(k=2;k<=n;k++){
		pnext(a,k);
		write(a,k);
		getchar();
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -