unsigned long 存不下结果,这该怎么办?

__103__ 2013-04-30 03:56:33
有一个题目是求1—40之间的素数的乘积。
我用unsigned long 存放结果,但是存不下。这怎么办?
...全文
353 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hugett 2013-05-01
  • 打赏
  • 举报
回复
可以用longlong或者__int64吧。。再不够就上大数吧。。
FancyMouse 2013-05-01
  • 打赏
  • 举报
回复
引用 5 楼 u010435367 的回复:
[quote=引用 3 楼 FancyMouse 的回复:] long long够
我用的是vc6.0,编译后报错error C2632: 'long' followed by 'long' is illegal[/quote] vc6虽然可以用__int64,但是你可以把这编译器丢了……
  • 打赏
  • 举报
回复
这是大数运算里的算法,上网搜一下大整数加法,大整数乘法
qiminixi 2013-04-30
  • 打赏
  • 举报
回复
自己做一个乘法运算,用数组存结果。

#include "stdio.h"
#include "math.h"
#define MULTIPLIER_LENGTH 100	//乘数的最大位数
#define MULTIPLICAND_LENGTH 100	//被乘数的最大位数
void main()
{  
	int multiplier[MULTIPLIER_LENGTH]={0};//乘数
	int multiplicand[MULTIPLICAND_LENGTH]={0};//被乘数
	int product[MULTIPLIER_LENGTH+MULTIPLICAND_LENGTH]={0};//积
	
	int i,j;
	int me;//乘数的位数,从0算起
	int mc;//被乘数的位数,从0算起
	
	char ch;
	ch=getchar();
	i=0;
	while('0'<=ch&&ch<='9')
	{
		multiplicand[i]=ch-'0';
		ch=getchar();
		i++;
	}
	mc=i-1;
	
	ch=getchar();
	i=0;
	while('0'<=ch&&ch<='9')
	{
		multiplier[i]=ch-'0';
		ch=getchar();
		i++;
	}
	me=i-1;
	
	int c=0;//进位值carry
	for(i=0;i<=me;i++)//乘数
	{
		for(j=0;j<=mc;j++)//乘以每个被乘数
		{
			product[i+j]+=c+multiplicand[mc-j]*multiplier[me-i];
			c=product[i+j]/10;
			product[i+j]=product[i+j]%10;
		}
		if(c!=0){
			product[i+mc+1]=c;
			c=0;
		}
	}
	
	i=MULTIPLIER_LENGTH+MULTIPLICAND_LENGTH-1;
	while(!product[i]) i--;//找到第一个不为0的数
	for(i;i>=0;i--)
		printf("%d",product[i]);
	printf("\n");
	
	fflush(stdin);
	getchar();
}
AnYidan 2013-04-30
  • 打赏
  • 举报
回复
google 大数运算
Jake443403168 2013-04-30
  • 打赏
  • 举报
回复
http://blog.csdn.net/jianzhibeihang/article/details/4948267
__103__ 2013-04-30
  • 打赏
  • 举报
回复
引用 3 楼 FancyMouse 的回复:
long long够
我用的是vc6.0,编译后报错error C2632: 'long' followed by 'long' is illegal
廖WJ 2013-04-30
  • 打赏
  • 举报
回复
用高精度可以吧。。??
FancyMouse 2013-04-30
  • 打赏
  • 举报
回复
long long够
__103__ 2013-04-30
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:
用字节流unsigned char[]
这个怎么定义?用什么格式输出? 我存的是数字,怎么放在char[]里? 可以具体说下吗?
图灵狗 2013-04-30
  • 打赏
  • 举报
回复
用字节流unsigned char[]

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧