| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 568 人关注过本帖
标题:大数运算问题,求教高手。
只看楼主 加入收藏
星火gavin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:78
专家分:170
注 册:2011-11-5
结帖率:90.48%
收藏
已结贴  问题点数:20 回复次数:3 
大数运算问题,求教高手。
例:
Description
数列A满足An = An-1 + An-2 + An-3, n >= 3

编写程序,给定A0, A1 和 A2, 计算A99
Input
输入包含多行数据

每行数据包含3个整数A0, A1, A2 (0 <= A0, A1, A2 <= 32767)
数据以EOF结束
Output
对于输入的每一行输出A99的值
Sample Input
1 1 1
Sample Output
69087442470169316923566147
求教大数运算,对于大数运算如何进行,如果输出几十位的数如何进行,如果用数组如何进行。
搜索更多相关主题的帖子: 编写程序 
2011-12-24 13:10
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:2 
这个结果会很大  结果数组要开多大? 发下网址

                                         
===========深入<----------------->浅出============
2011-12-24 14:55
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:18 
程序代码:
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
void add(char a[],char b[],char back[])
{
    int i,j,k,up,x,y,z,l;
    char *c;
    if (strlen(a)>strlen(b)) l=strlen(a)+2; else l=strlen(b)+2;
    c=(char *) malloc(l*sizeof(char));
    i=strlen(a)-1;
    j=strlen(b)-1;
    k=0;up=0;
    while(i>=0||j>=0)
    {
        if(i<0) x='0'; else x=a[i];
        if(j<0) y='0'; else y=b[j];
        z=x-'0'+y-'0';
        if(up) z+=1;
        if(z>9) {up=1;z%=10;} else up=0;
        c[k++]=z+'0';
        i--;j--;
    }
    if(up) c[k++]='1';
    i=0;
    c[k]='\0';
    for(k-=1;k>=0;k--)
        back[i++]=c[k];
    back[i]='\0';
} 

int main()
{
    char a[3][1000],temp[1000];
    int roll=3;
    while(scanf("%s%s%s",a[0],a[1],a[2]) !=EOF)
    {
        for (int i=3;i<=99;i++)
        {
            add(a[(i-1)%3],a[(i-2)%3],temp);
            add(temp,a[(i-3)%3],a[i%3]);
        }
        printf("%s\n",a[0]);
    }
}
        
2011-12-25 14:35
星火gavin
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:78
专家分:170
注 册:2011-11-5
收藏
得分:0 
回复 3楼 『点点滴滴』
看的不是很理解,但还是感谢,还要问一下,加减运算时用数组的思路是什么?乘和除进行大数运算时还要注意什么?
2011-12-25 22:56
快速回复:大数运算问题,求教高手。
数据加载中...
 
   



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

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