| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1446 人关注过本帖
标题:谁能编程做这个题,拜他为师!
只看楼主 加入收藏
sunnvya
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1094
专家分:0
注 册:2005-11-23
收藏
 问题点数:0 回复次数:23 
谁能编程做这个题,拜他为师!
编程: 求N!
条件: N很大!
要求: 输入N值 输出它的值!
例如输入N=1000 结果输出值
搜索更多相关主题的帖子: 编程 1000 
2006-03-04 22:22
voldemort
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-3-1
收藏
得分:0 

太简单了.....


黑魔法
2006-03-04 22:27
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 

#include <iostream.h>
#include <iomanip.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int getN();
int getBitNum(int n);
char *init(int size);
void calc(char *a,int n);
void display(char *a,int size);
/*-------------------------------*/
void main(void)
{
int n=getN();
int size=getBitNum(n);
char *pa=init(size);
calc(pa,n);
display(pa,size);
delete []pa;
}
/*-------------------------------*/
int getN()
{
int n;
printf("请输入n!中的n:");
cin>>n;
while(n<0)
{
printf("输入有错误,请重新输入:");
cin>>n;
}
if(n==0)
exit(1);
return n;
}
/*-------------------------------*/
int getBitNum(int n)
{
double sum=1.0;
int i=1;
for(;i<=n;i++)
sum+=log10(i);
return (int)sum;
}
/*-------------------------------*/
char *init(int size)
{
char *pa=new char[size];
if(!pa)
{
printf("too large factor of %d\n",size);
exit(1);
}
pa[0]=1;
int i=1;
for(;i<size;i++)
pa[i]=0;
return pa;
}
/*-------------------------------*/
void calc(char*a,int n)
{
double bitcount=1;
int begin=0;
int i=2;
for(;i<=n;i++)
{
long and=0;
bitcount+=log10(i);
if(a[begin]==0)
begin++;
int j=begin;
for(;j<(int)bitcount;j++)
{
and+=i*a[j];
a[j]=char(and%10);
and/=10;
}
}
}
/*-------------------------------*/
void display(char*a,int size)
{
int bit=0;
int i=size-1;
for(;i>=0;i--)
{
if(bit%68==0)
cout<<"第"<<setw(3)<<(bit/50+1)<<"个68位:";
cout<<(int)a[i];
bit++;
}
cout<<endl;
}

/*-------------------------------*/


♂ 死后定当长眠,生前何须久睡。♀
2006-03-04 22:28
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:0 
上面的程序在vc编辑器下,要不然会出错的。

♂ 死后定当长眠,生前何须久睡。♀
2006-03-04 22:29
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 
int getBitNum(int n)
这个函数的作用是?

2006-03-05 07:58
sunnvya
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1094
专家分:0
注 册:2005-11-23
收藏
得分:0 
呵呵!2楼编的是抄袭哦!
和我看的答题一模一样!
不过这个编的时候好多人都考虑的太简单,
数字太大时会溢出!


http://www. 第二站>>>提供源码下载
2006-03-05 08:34
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

这个论坛上就有答案~如果你肯找的话


淘宝杜琨
2006-03-05 10:15
Lydolphin
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-12-4
收藏
得分:0 
数据结构...
一维数组扩充空间...

PHP:http://www.
ASP:http://www.
HTML:http://www.
2006-03-05 18:09
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
论坛的以前的帖子有,程序挺短的

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-05 21:45
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
收藏
得分:0 
哪有这么麻烦啊

I am a programmer !
2006-03-06 06:36
快速回复:谁能编程做这个题,拜他为师!
数据加载中...
 
   



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

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