实现一个类,类中set函数,设置成员a的值,实现Sum函数,打印1到a的所有数字和,实现Product函数,打印1到a之间所有数字乘积,实现PrimeNum,输出1到a所有质数
#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;
}