POJ 1001 大数的乘法

对这道题的理解 大数的乘法  关键是 实型的  那么首先就是数出来小数点有几位这个相信很简单 从后面往前数刚开始0 不算接着就是遇到小数点结束如果没有小数点 那么置为0

接着就是输出地时候首先算出小数点的位置然后输出   你想怎么样都行 从后往前数这个时候输出 那么就是你也知道了 嘿嘿  剩下的就是 大数的乘法了 ......

 

代码
#include<stdio.h>
int main()
{
int i,m,n,j;
__int64 num[
100],t;
while(scanf("%d%d",&n,&m)!=EOF){
for(i=0;i<100;i++)
num[i]
=0;
num[
1]=1;
num[
0]=1;
for(i=1;i<=m;i++){
for(t=0,j=1;j<=num[0];j++){
num[j]
*=n;
num[j]
+=t;
t
=num[j]/1000000000;
num[j]
%=1000000000;
}
if(t!=0){
num[j]
=t;
num[
0]++;
}
}
for(i=num[0];i>0;i--){
i
==num[0]?printf("%I64d",num[i]):printf("%09I64d",num[i]);
}
putchar(
'\n');
}
return 0;
}

 

对于大数的基本运算我们还是要会的这个很训练基础的 开始我的ACM生涯了 哈哈哈哈O(∩_∩)O哈哈~

posted @ 2010-08-24 21:18  Acmen  阅读(314)  评论(1编辑  收藏  举报