#include <iostream>
using namespace std;
class Array
{
private:
int* p, k;
float s;
public:
Array(int* ptr, int n);
bool fun(int n);
void sum();
void show();
~Array();
};
Array::Array(int* ptr, int n)
{
p = new int[n];
k = n;
for (int i = 0; i < k; i++)
{
p[i] = ptr[i];
}
}
bool Array::fun(int n)
{
bool flag = true;
for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
flag = false;
break;
}
}
return flag;
}
void Array::sum()
{
int sum = 0;
for (int i = 0; i < k; i++)
{
if (fun(p[i])==1)
{
sum = sum + p[i];
}
}
s = sum / k;
}
void Array::show()
{
int pn = 0;
for (int i = 0; i < 9; i++)
{
if (fun(p[i]))
{
pn++;
cout << p[i] << '\t';
if (pn % 5 == 0)
{
cout << endl;
}
}
}
if (pn % 5)cout << endl;
}
Array::~Array()
{
delete[]p;
}
int main()
{
int a[9] = { 5,2,7,4,8,23,65,1,40 };
Array arr(a, sizeof(a)/sizeof(a[0]));
arr.sum();
arr.show();
system("pause");
return 0;
}
求素数为什么会有1问题在哪?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 惜日短 2022-06-14 08:42关注
bool Array::fun(int n) { bool flag = true; for (int i = 2; i < n; i++) { if (n % i == 0) { flag = false; break; } } return flag; }
n值为1时,没进入循环,flag为true
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 等差数列中的素数个数
- ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
- ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
- ¥50 opencv4nodejs 如何安装
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 nginx反向代理获取ip,java获取真实ip
- ¥15 eda:门禁系统设计
- ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
- ¥15 376.1电表主站通信协议下发指令全被否认问题
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证