帮忙看看哪里错了,就是一个简单的求一个数是不是素数的程序,主要是sqrt的用法,但不知道怎么改

xiaotengkun 2011-01-06 06:55:08
#include"iostream"
#include"cmath"
using namespace std;
void main()
{
int m,i,k;
cout<<"请输入一个整数:"<<endl;
cin>>m;
k=sqrt(m);
for(i=2;i<k;i++)
{
if(m%i==0)
break;

}
if(i>=k+1)
cout<<m<<" 是素数"<<endl;
else
cout<<m<<" 不是素数"<<endl;

}
...全文
164 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
無_1024 2011-01-06
  • 打赏
  • 举报
回复
static_cast<int>
無_1024 2011-01-06
  • 打赏
  • 举报
回复
sqrt的是double类型 需要强制转换为int
無_1024 2011-01-06
  • 打赏
  • 举报
回复

#include <iostream>
#include <cmath>
using namespace std;

void main()
{
int m,i,k;
cout<<"请输入一个整数:"<<endl;
cin>>m;
k=sqrt(m);
for(i=2;i<=k;i++)
{
if(m%i==0)
break;
}
if(i>=k+1)
cout<<m<<" 是素数"<<endl;
else
cout<<m<<" 不是素数"<<endl;
}
Qyee 2011-01-06
  • 打赏
  • 举报
回复

1
2
3
4
5
6
7
8
9
10
11
12
/* sqrt example */
#include <stdio.h>
#include <math.h>

int main ()
{
double param, result;
param = 1024.0;
result = sqrt (param);
printf ("sqrt(%lf) = %lf\n", param, result );
return 0;
}


Output:

sqrt(1024.000000) = 32.000000

Qyee 2011-01-06
  • 打赏
  • 举报
回复
double sqrt ( double x );
float sqrt ( float x );
long double sqrt ( long double x );

函数原型。。。x不能是int型。。
类型转换。或者。。修改输入参数类型。
ashen262 2011-01-06
  • 打赏
  • 举报
回复
sqrt是double类型的,强制转化下即可
如:
#include"iostream"
#include"cmath"
using namespace std;

void main()
{
int m,i,k;
cout<<"请输入一个整数:"<<endl;
cin>>m;
k=sqrt((double)m);
for(i=2;i<k;i++)
{
if(m%i==0)
break;
}
if(i>=k+1)
cout<<m<<" 是素数"<<endl;
else
cout<<m<<" 不是素数"<<endl;

}
go_Michael 2011-01-06
  • 打赏
  • 举报
回复

#include<iostream>
#include<cmath>
using namespace std;
xiaotengkun 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 go_michael 的回复:]
C/C++ code

for(i=2;i<=k;i++)
[/Quote]
奥,不好意思,那个打错了,不过并不是这个的错误,就是sqrt的用法出了错
go_Michael 2011-01-06
  • 打赏
  • 举报
回复

for(i=2;i<=k;i++)

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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