标题:新手求助,关于无效内存引用
取消只看楼主
香菱
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-4-4
结帖率:83.33%
已结贴  问题点数:20 回复次数:4 
新手求助,关于无效内存引用
#include"stdio.h"
#include"math.h"
int main()
{
 int N,i,n,x,f[10];
 scanf("%d",&N);
 for(n=1;n<=N;n++)
 scanf("%d",&f[n]);
 n=1;
 while(n<=N)
{
 x=f[n];
 i=2;
 printf("%d =",f[n]);
 while(i<=sqrt(x))
 {
  while(x%i==0)
  {
   printf(" %d",i);
   x/=i;
   printf(" *");
   if(x==1)
   {printf(" %d",i);
   goto k;}
   else if(i>sqrt(x))
   {printf(" %d\n",x);
   goto k;}
  }
  i++;
 }
 if(i>sqrt(x))
 printf(" %d\n",x);
 k:n++;
}
},我想问你一下,上面面这个程序是分解质因数的,但是当输入一个很大的数时,输出就有问题,并且部分测试用例通不过,老说是无效内存引用,能帮我看一下哪出问题了吗?谢谢
搜索更多相关主题的帖子: include 
2014-04-04 11:50
香菱
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-4-4
得分:0 
回复 2楼 wp231957
试了,long,unsigned long,还有long long,甚至double,都不行
2014-04-04 20:32
香菱
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-4-4
得分:0 
回复 4楼 ying8501
楼主,首先谢谢你的程序,但是当分解一个大数时,程序有问题,比如这个大数是10^12
2014-04-04 21:01
香菱
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-4-4
得分:0 
回复 3楼 ying8501
那该怎么办,实在弄不明白
2014-04-04 21:02
香菱
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-4-4
得分:0 
回复 8楼 wp231957
用long?
2014-04-04 21:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429680-1-1.html




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

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