#19774: 如何不乘1


aetejay@gmail.com (Think Think)


#include <iostream>

using namespace std;

int main() {

int a, b, i;
while (cin >> a)
{
for (i = 2; i < (a / 2); i++)
{
b = 0;
while (a%i == 0)
{
a = a / i;
b++;
}
if (b > 1)
cout << i << "^" << b << "*";
else if (b == 1)
cout << i << "*";
}
cout << a << endl;
}
}

在送出解答後沒有通過

測試到261855這組數字的時候答案為3^2*5*11*23^2

可是我的程式碼會算出3^2*5*11*23^2*1

請問如何不要顯示*1