| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1301 人关注过本帖, 1 人收藏
标题:200^200(200的200次方)用C语言怎么写
只看楼主 加入收藏
羽水
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-18
结帖率:0
收藏(1)
已结贴  问题点数:15 回复次数:12 
200^200(200的200次方)用C语言怎么写
,高手指教!
搜索更多相关主题的帖子: C语言 
2010-08-19 15:19
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:2 
用数组表示大整数,计算时最简单可以用手工乘法模拟,御坂笑着说道

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-19 15:24
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
回复 楼主 羽水
程序代码:
#include "stdio.h"
#define M 10000

void main()
{
    unsigned a[M];  //以无符号整形存,每10000为一进位,即数组每个元素最大9999
    unsigned long k;  //k用来保存每次乘积
    int i,j,m,t,n=1,r; //n是数组长度,r是进位
    FILE *fp;
    a[0]=1;
    printf("\n输入m and t(空格隔开: m^t = ?):");
    scanf("%d %d",&m,&t);

    for(j=0; j<t; j++)
    {
        r=0;
        for(i=0; i<n; i++)
        {
            k=a[i]*m+r;
            a[i]=k%10000;
            r=k/10000;
        }

       while(r>0)
        {
            a[n++]=r%10000;
            r/=10000;
        }
    }
    fp=fopen("c:\\200-200.txt","w");
    printf("\n %d^%d =",m,t);
   
    for(i=n-1; i>=0; i--)
    {   if(a[i]<1000&&a[i]>=100&&i!=n-1) fprintf(fp,"%c",'0');      //数据不够4位,前面补0
        else if(a[i]<100&&a[i]>=10&&i!=n-1) fprintf(fp,"%s","00");
        else if(a[i]<10&&i!=n-1) fprintf(fp,"%s","000");
        fprintf(fp,"%d",a[i]);
    }
    close(fp);
}
结果是:
16069380442589902755419620923411626025222029937827928353013760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-19 17:36
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
if(a[i]<1000&&a[i]>=100&&i!=n-1) fprintf(fp,"%c",'0');      //数据不够4位,前面补0
        else if(a[i]<100&&a[i]>=10&&i!=n-1) fprintf(fp,"%s","00");
        else if(a[i]<10&&i!=n-1) fprintf(fp,"%s","000");
        fprintf(fp,"%d",a[i]);

这段代码写的太纠结了吧?本来应该一行就解决的,fprintf(fp, "%04d", a[i]),御坂御坂认真地指责道

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-19 17:42
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
回复 4楼 御坂美琴
是呀 我是拿别人的来用的,自己没写,呵呵

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-19 17:46
混沌之灵
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2008-12-19
收藏
得分:2 
没有超出数的范围限制 ?
2010-08-19 20:03
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
以下是引用混沌之灵在2010-8-19 20:03:48的发言:

没有超出数的范围限制 ?
才200次方嘛,怎么会超呢?御坂肯定地说

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-19 21:04
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:2 
以下是引用混沌之灵在2010-8-19 20:03:48的发言:

没有超出数的范围限制
运算结果都给你了 ,还有什么问题??
16069380442589902755419620923411626025222029937827928353013760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000



Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-19 22:20
carmeloyin
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
帖 子:161
专家分:157
注 册:2008-12-2
收藏
得分:2 
pow(200,200)不行?
2010-08-20 01:10
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:0 
以下是引用carmeloyin在2010-8-20 01:10:30的发言:

pow(200,200)不行?
应该也可以得到一个近似解,但是我那个程序给出的是精确解!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-20 08:40
快速回复:200^200(200的200次方)用C语言怎么写
数据加载中...
 
   



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

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