| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4873 人关注过本帖, 2 人收藏
标题:[公告]挑战C板块的 阶乘算法
只看楼主 加入收藏
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
knocker,
你的程序能做50000 吗?

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-11-02 03:34
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
你的3000分是不是舍不得给我啊?在这里胡纠蛮缠!

int Factorial(register long*FactorialMem,int n);

这n是int 的,最多能sacnf 32767 ,你说能计算50000!吗?

根本不是算法问题,计算50000!我的程序只要115.67秒

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-11-02 10:47
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
给我钱!

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-11-02 10:47
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
收藏
得分:0 

我是今天才注册的,也写了这个算法的代码,不过我不会算时间,请那位帮我算算时间,谢谢:

#include<stdio.h>
/*the max is 1144*/
main()
{ int intx;
/*printf("\nInput:");
scanf("%d",&intx);*/
for(intx=0;intx<50;intx++)
opt(1000);
}

opt(int x)
{ int res[3005],reslen,i,j,k,tmp;
res[1]=reslen=1;
for(i=1;i<=x;i++)
{ for(j=1;j<=reslen;j++)
res[j]*=i;
for(k=1;k<=reslen;k++)
if(res[k]>9)
{ tmp=res[k];
res[k]%=10;
if(k==reslen)
res[++reslen]=0;
res[k+1]+=tmp/10;
}
}
printf("\n");
/*for(i=reslen;i>=1;i--)
printf("%d",res[i]);*/
printf("\n\nLenth: %d",reslen);/*getch();*/
}


其实我也很无聊!
2005-11-02 11:00
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

不要斗,to kai,有没有看过《C++性能优化***》(忘了书名),反正是蓝色封面很薄的一本书,里面说到,C++比起C语言有一定的起伏,就是,有些命令比C快,有些比C慢,而且慢N倍,其中的绞绞者就是类,用类的话,就算全部inline也不及C快,所以没得比。

这种变量单一的算法题体现不了C++的优点,要用我以前问过那种求路径最长的旅游那种N个变量N个函数N种的关系的,用C就会做到头晕。

2005-11-02 19:20
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
那里提到,C语言的速度是最接近汇编语言的,C++的类有时需要用到300行汇编代码来实现。对象化是要付出代价的。
2005-11-02 19:23
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
to knocker:不要得意,C语言没有派生,没有模板,扩展程序时超费工夫。
2005-11-02 19:25
sailer
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2005-10-12
收藏
得分:0 
都很牛啊。学生佩服,我只是略微看懂一点你们的程序。佩服!我要研究以下你们的程序啊 !

希望大家多多配合他人,多多帮助他人。 支持国家的 产品,尽量不买外国货。
2005-11-02 23:00
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
我只想要属于我的3000分。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-11-02 23:47
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
你的程序不能得出真确的结果。所以没法给你分。
你只想到了快,忽略了程序的通用性。
如果要快,那干脆把结果直接打印,那是最快的。但是这样一来,程序也就没有意义了。算法是建立在真确的基础上,没有真确,那么局部意义上的快就没有意义了。

对你是严格了一些。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-11-03 04:53
快速回复:[公告]挑战C板块的 阶乘算法
数据加载中...
 
   



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

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