萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1344|回复: 2

判断素数

[复制链接]
发表于 2002-10-27 15:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
1#include "math.h"
2main ()
3  {
4  int m,i,k;
5  scanf("%d",&m);
6   k=sqrt(m);
7   for(i=2;i<=k;i++)
8     if(m%==0) break;
9   if (i>k+1)printf("%d ist Prime\n",m)
0   else      printf("%d ist keine\n",m)
1  }
各位大大,小弟认为第9行应该改为if (i=k)...才对。或是第7行改为
for(i=2;i<=m;i++),不过影响了运算速度。不过这是老大给的答案,
希望大大们解我疑惑。
还有sqrt本来是double型,强制转型为int型了吗?sqrt(6)等于几?
谢谢!!!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2002-11-1 12:30 | 显示全部楼层
强制转化双精度 为 int sqrt(6) = 2
从1循环到sqrt(m)是最好的方法。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2002-11-1 14:24 | 显示全部楼层

#include<iostream.h>
#include<math.h>
void main(){
long m;
cout<<"please input a number:\n";
cin >>m;
double sqrtm=sqrtm=sqrt(m);
for (int i=2;i<=sqrtm;i++)
   if (m%i==0) break;
if(sqrtm<i)count<<"prime.\n";
else cout>>"keine prime";
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-2-7 15:20 , Processed in 0.064778 second(s), 16 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表