| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 846 人关注过本帖
标题:100位的大数的乘法
取消只看楼主 加入收藏
Magic_July
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:109
注 册:2012-9-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
100位的大数的乘法
程序代码:
#include"stdio.h"
#include"string.h"
void ones(int *s,char *a,char b)//一次运算,两组数据,其中一对的相乘
{
    int x=(*a-48)*(b-48);
    if(x+*s>=10)
    {
        *(s+1)+=(x+*s)/10;
        *s=(*s+x)%10;
    }
    else
    *s+=x;
}
int main()
{
    int T;
    char A[105],B[105],*a,*b;
    int end[10005];
    int i,maxlen,j;
    scanf("%d",&T);
    int t;
    for(t=1;t<=T;t++)
    {
        memset(A,0,sizeof(char)*8);//赋0;
        memset(B,0,sizeof(char)*8);
        memset(end,0,sizeof(int)*8);
        scanf("%s%s",&A,&B);
        if(strlen(A)>=strlen(B))//使之a为最长的数据
        {
            a=A;
            b=B;
        }
        else
        {
            a=B;
            b=A;
        }
        for(i=strlen(b)-1;i>=0;i--)//运算顺序
        {
            for(j=strlen(a)-1;j>=0;j--)
            ones(end+(strlen(b)-1-i)+(strlen(a)-1-j),a+j,*(b+i));
        }
        printf("Case %d:\n",t);
        printf("%s * %s = ",A,B);
        maxlen=end[strlen(a)+strlen(b)-1-1+1]>0?strlen(a)+strlen(b)-1-1+1:strlen(a)+strlen(b)-1-1;//判断结果是否多一位
        for(i=maxlen;i>=0;i--)
        printf("%d",end[i]);
        printf("\n");
        if(t!=T)
        printf("\n");
    }
}

这是我的代码
测试例子
2
1 2
123456789 987654321
输出
Case 1:
1 * 2 = 2

Case 2:
123456789 * 987654321 = 121932631112635269
我测试的时候输出都没有错
但交上去就错了
http://acm.tzc.
题目链接
2013-11-10 15:06
Magic_July
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:109
注 册:2012-9-25
收藏
得分:0 
回复 2楼 fengfengyy
这不是问题..............
2013-11-10 20:03
Magic_July
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:109
注 册:2012-9-25
收藏
得分:0 
回复 4楼 azzbcc
99999 99999
输出没有错

[ 本帖最后由 Magic_July 于 2013-11-11 12:00 编辑 ]
2013-11-11 11:55
Magic_July
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:109
注 册:2012-9-25
收藏
得分:0 
回复 8楼 azzbcc
C-Free 5.0
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-11-11 22:50
Magic_July
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:109
注 册:2012-9-25
收藏
得分:0 
求不沉~~~~~~~~~~~
2013-11-12 21:04
快速回复:100位的大数的乘法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020029 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved