| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 436 人关注过本帖
标题:[求助]随即数据产生的慢
只看楼主 加入收藏
happyyu
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-4-10
收藏
 问题点数:0 回复次数:3 
[求助]随即数据产生的慢

#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int pr_num()/*产生素数*/
{
int a,b,c;
while(c!=0||a==0)
{
srand((int)time(NULL));
c=0;
a=rand()%1000;
if(a==0) continue;
for(int i(2);i<=sqrt(a);i++)
{
b=a%i;
if(b==0) c+=1;
}

}
return(a);
}
int gcd(int a,int d)/*欧几里得算法*/
{
int r;
while(r>0)
{
r=a%d;
a=d;
d=r;
}
if(d=1) return 1;
else return 0;
}
void main()
{
int d,p,q,n,t;
while(1) /*问题出在这个循环上,不加产生的数据是一样的,加上了又产生不出来或很长时间才出来*/
{
srand((int)time(NULL));
p=pr_num();
q=pr_num();
if(p!=q)
break;
}
n=p*q;
t=(p-1)*(q-1);
while(1)
{
d=rand()%t;
if(d<t&&gcd(d,t)) break;
}
cout<<p<<" "<<q<<" "<<d<<" "<<n;

}

搜索更多相关主题的帖子: 数据 
2006-12-05 16:48
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
算法层面没有帮你看, 只是一些基本上出错的技术细节帮你修改了一下.

[CODE]#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;

int pr_num()
{
int a,b,c;
srand((int)time(NULL));
do
{
c=0;
a=rand()%1000;
if(a==0)
continue;
for(int i=2; i<=(int)sqrt((double)a); i++)
{
b=a%i;
if(b==0) c+=1;
}

}while(c!=0||a==0);
return(a);
}

int gcd(int a,int d)
{
int r;
do
{
r=a%d;
a=d;
d=r;
}while(r>0);
if(d=1) return 1;
else return 0;
}

int main()
{
int d,p,q,n,t;
while(1)
{
p=pr_num();
q=pr_num();
if(p!=q)
break;
}
n=p*q;
t=(p-1)*(q-1);
while(1)
{
d=rand()%t;
if(d<t&&gcd(d,t)) break;
}
cout<<p<<" "<<q<<" "<<d<<" "<<n;

return 0;
}

[/CODE]

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-12-06 07:32
happyyu
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-4-10
收藏
得分:0 
using namespace std;
为什么要加这个阿!

我晕死,因为不会
2006-12-06 13:43
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
我只想告诉你, std == standard. 如果你的程序要通过gcc 编译器的编译, 那么必须符合C++ standard.

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-12-06 13:50
快速回复:[求助]随即数据产生的慢
数据加载中...
 
   



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

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