POJ 3199 Uncle Jack(高精度加速乘)
来源:互联网 发布:mysql insert select 编辑:程序博客网 时间:2024/06/14 02:52
Dear Uncle Jack is willing to give away some of his collectable CDs to his nephews. Among the titles you can find very rare albums of Hard Rock, Classical Music, Reggae and much more; each title is considered to be unique. Last week he was listening to one of his favorite songs, Nobody’s fool, and realized that it would be prudent to be aware of the many ways he can give away the CDs among some of his nephews.
So far he has not made up his mind about the total amount of CDs and the number of nephews. Indeed, a given nephew may receive no CDs at all.
Please help dear Uncle Jack, given the total number of CDs and the number of nephews, to calculate the number of different ways to distribute the CDs among the nephews.
The input consists of several test cases. Each test case is given in a single line of the input by, space separated, integers N (1 ≤ N ≤ 10) and D (0 ≤ D ≤ 25), corresponding to the number of nephews and the number of CDs respectively. The end of the test cases is indicated with N = D = 0.
The output consists of several lines, one per test case, following the order given by the input. Each line has the number of all possible ways to distribute D CDs among N nephews.
1 203 100 0
159049
题解:
很简单的一道题。。每一件礼物都可以给任何一个人,就是n的d次方,由于结果很大要高精度,一开始除10模10就tle了,老刘改成了10000就ac了
代码:
#include<iostream>#include<stdio.h>#include<map>#include<algorithm>#include<math.h>#include<queue>#include<stack>#include<string>#include<cstring>using namespace std;int t[105],m,n,b[105];void cheng(int a[],int x)//大数乘法{ int i,j,w=0; for(i=0;i<=8;i++) t[i]=0; for(i=0;i<=8;i++) { t[i]+=a[i]*x+w; w=t[i]/10000;//进位处理 t[i]%=10000; }}int main(){ int i; while(scanf("%d%d",&m,&n),m||n) { if(!n) { printf("1\n"); continue; } memset(b,0,sizeof(b)); b[0]=m; n--; while(n--) { cheng(b,m); for(i=0;i<=8;i++) b[i]=t[i]; } for(i=8;!b[i];i--);//去掉前导0 printf("%d",b[i]);第一位直接输出 i--; for(;i>=0;i--) printf("%04d",b[i]);//因为是4位4位输出,不足补0 printf("\n"); } return 0;}
- POJ 3199 Uncle Jack(高精度加速乘)
- POJ 3199 Uncle Jack (高精度)
- POJ 3199 Uncle Jack(JAVA练习)
- POJ 3199 Uncle Jack JAVA .
- POJ 3199 Uncle Jack 笔记
- POJ 3199 Uncle Jack大数的幂 利用高精度乘法模板
- Uncle Jack
- Uncle Jack(大数幂运算java)
- XDOJ1014--Uncle Jack
- POJ-1405 Heritage-高精度加减乘
- 【模板】高精度(加减乘)
- 【高精度 乘】
- (高精度运算4.7.32)POJ 1405 Heritage(大数累乘)
- lightoj 1024 (高精度乘单精度)
- c++高精度运算(加、乘)
- 【高精度计算】加减乘模板(水)
- poj 1127 Jack Straws(计算几何)
- POJ 1127 Jack Straws (计算几何)
- PathEffect,使用mPaint.setPathEffect为path路径设置不同的效果
- zeromq+python安装手册
- 模块句柄(实例句柄)和句柄的区别
- 静态函数和非静态函数的区别(静态方法和非静态方法)
- 大数据平台的发展会降低程序员的价值吗?
- POJ 3199 Uncle Jack(高精度加速乘)
- 递归建立二叉树
- 解决textarea默认鼠标不是从左上角开始的问题
- VideoView 无法播放此视频
- Android数据存储之文件File
- 【Android】性能测试之获取Android流量数据
- SpringMVC文件上传
- MySQL hint
- 消息代理RabbitMQ——实施篇