| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 378 人关注过本帖
标题:1000!算法
取消只看楼主 加入收藏
tutengwolf
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-2
收藏
 问题点数:0 回复次数:1 
1000!算法

#include<iostream.h>
void main()
{
int result[10000];
int p=0,i;
int ininum=0;
char ini[10];
int temp;
memset(result,0,sizeof(p)*10000);
cout<<"please input the initial number"<<endl;
cin>>ini;
for( i=0,p=strlen(ini)-1;i<strlen(ini);p--,i++)
{
result[p]=ini[i]-'0';
ininum=ininum*10+result[p];
}
ininum--;
p=strlen(ini)-1;
int jin,high,max;
max=p;
for(;ininum>0;ininum--)
{
for(i=0;i<=p;i++)
result[i]*=ininum;
for(i=p,high=i;i>=0;i--,high=i)
{
while(result[high]>9)
{
jin=result[high]/10;
result[high]=result[high]%10;
high++;
result[high]+=jin;
if(high>max)
max=high;
}
}
p=max;
}
for(int j=max;j>=0;j--)
cout<<result[j];
}

搜索更多相关主题的帖子: 算法 
2007-01-02 21:21
tutengwolf
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-2
收藏
得分:0 

改好了 至少可以算 20000 以内的了

#include<iostream.h>
#include"conio.h"
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void main()
{
FILE *fp;

int result[100000];
int p=0,i;
int ininum=0;
char ini[10];
int temp;
memset(result,0,sizeof(p)*100000);
cout<<"please input the initial number"<<endl;
cin>>ini;
for( i=0,p=strlen(ini)-1;i<strlen(ini);p--,i++)
{
result[p]=ini[i]-'0';
ininum=ininum*10+result[p];
}
ininum--;
p=strlen(ini)-1;
int jin,high,max;
max=p;
for(;ininum>0;ininum--)
{
for(i=0;i<=p;i++)
result[i]*=ininum;
for(i=p,high=i;i>=0;i--,high=i)
{
while(result[high]>9)
{
jin=result[high]/10;
result[high]=result[high]%10;
high++;
result[high]+=jin;
if(high>max)
max=high;
}
}
p=max;
}
// for(j>=0;j--)
// cout<<result[j];
if((fp=fopen("result.txt","a+"))==NULL)
{
cout<<"can't open the file!"<<endl;
exit(0);
}
int j=max;
while(j>=0)
{
fputc(result[j]+'0',fp);
j--;
}
fclose(fp);


}

2007-01-02 21:49
快速回复:1000!算法
数据加载中...
 
   



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

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