实现一个类,类中set函数,设置成员a的值,实现Sum函数,打印1到a的所有数字和,实现Product函数,打印1到a之间所有数字乘积,实现PrimeNum,输出1到a所有质数
cpp
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
class NumberProcessor {
private:
int a;
// 检查一个数是否为质数
bool isPrime(int num) {
if (num <= 1) return false;
if (num <= 3) return true;
if (num % 2 == 0 || num % 3 == 0) return false;
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0) return false;
}
return true;
}
public:
NumberProcessor(int initialA = 0) : a(initialA) {}
// 设置成员a的值
void set(int value) {
a = value;
}
// 计算1到a的所有数字和
void Sum() {
int sum = 0;
for (int i = 1; i <= a; ++i) {
sum += i;
}
cout << "Sum: " << sum << endl;
}
// 计算1到a之间所有数字乘积
void Product() {
long long product = 1;
for (int i = 1; i <= a; ++i) {
product *= i;
}
cout << "Product: " << product << endl;
}
// 输出1到a的所有质数
void PrimeNum() {
vector<int> primes;
for (int i = 2; i <= a; ++i) {
if (isPrime(i)) {
primes.push_back(i);
}
}
cout << "Prime Numbers: ";
for (int prime : primes) {
cout << prime << " ";
}
cout << endl;
}
};
int main() {
NumberProcessor np(10);
np.Sum();
np.Product();
np.PrimeNum();
// 也可以设置新的a值
np.set(20);
np.Sum();
np.Product();
np.PrimeNum();
return 0;
}