4
number.txt中有1000個數字,每個數字爲2到9位數字,每個數字在一個單獨的行中。該練習計算了有多少數字,滿足條件:分解時,這個數字恰好有3個不同的素數因子,它們可以出現多次,而且都是偶數。計算具有三種不同素數因子的數字
例如 - 因素:3,5,7 - YES, - 因素:3,3,11,13 - YES,
- 因素:3, 3,3,5,5,5,7,7,7 - 是,
- 因子:5,11 -
#include <iostream>
#include <fstream>
using namespace std;
int number, threefnumbers=0;
int main()
{
ifstream file("numbers.txt");
ofstream outputf("results.txt");
int count_factors;
while (file >> number)
{
count_factors=0;
int factor=3;
if (number%2!=0)
{
while (number>1)
{
if (number%factor==0)
count_factors++;
while (number%factor==0)
{
number=number/factor;
}
factor+=2;
}
if (count_factors==3) threefnumbers++;
}
}
outputf << "59.1) " << endl << threefnumbers;
file.close();
outputf.close();
return 0;
}
我從numbers.txt知道,有很多數字滿足條件,但程序只返回1.爲什麼這樣?
「他們都是偶數」。你的例子中的數字都不是! – CinCout
不可能有偶數。素數總是很奇怪。 – AhmadWabbi
@ A.Wabbi 2是一個素數 – NathanOliver