hdu 1261 (大数除法)
来源:互联网 发布:java 泛型 getclass 编辑:程序博客网 时间:2024/05/29 10:06
点击打开链接
分析:
ans = sum!/(a1!*a2!*……);
#include"stdio.h"#include"string.h"int main(){ int n; int sum; int a[30]; int t,len; int i,j,k; int carry; int num[155]; while(scanf("%d",&n)!=-1,n) { sum=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); sum+=a[i]; } memset(num,0,sizeof(num)); num[0]=1; len=1; for(i=2;i<=sum;i++) { carry=0; for(j=0;j<len;j++) { num[j]*=i; num[j]+=carry; if(num[j]>=100000) { carry=num[j]/100000; num[j]%=100000; } else carry=0; } if(carry!=0)num[len]=carry; while(num[len]!=0)len++; } for(i=0;i<n;i++) { for(j=2;j<=a[i];j++) { t=0; carry=0; for(k=len-1;k>=0;k--) { carry=t; t=(num[k]+t*100000)%j; num[k]=(num[k]+carry*100000)/j; } while(num[len-1]==0)len--; } } for(i=len;i>=0;i--) if(num[i]!=0) { printf("%d",num[i]);break; } for(i--;i>=0;i--) { printf("%05d",num[i]); } printf("\n"); } return 0;}
- hdu 1261 (大数除法)
- hdu 1261 排列组合&&大数除法
- HDU 1261 字串数(大数阶乘 除法 组合 java)
- HDU 5429 【大数除法模拟】
- 大数(乘除法)
- HDU 4577 X-Boxes (数学+大数除法)
- 大数 (整数)乘法,除法
- 大数除法(模拟除)
- 大数 除法
- 大数除法
- 大数除法
- 大数除法
- 大数除法
- 大数除法
- 大数除法
- 大数除法
- 大数除法
- 大数除法
- MySQL查询获取行号rownum
- the delegate in c shap
- android 按返回退出应用
- 遗传算法入门
- C# 串行化与反串行化--使用BinaryFormatter进行串行化
- hdu 1261 (大数除法)
- 泛泰A850工程机与正式机分区表对比
- Dialog七种模式详解
- 手机客户端和服务器通信时如何安全高效的进行身份验证?
- 类型字符转换
- MyEclipse8.5安装aptana插件说明
- C# 串行化与反串行化--使用SoapFormatter进行串行化
- js屏蔽(禁止)键盘和鼠标功能键
- 如果我有一台馒头花卷机