#include<iostream>
using namespace std;
int main() {
int a, b,c=0;
while (cin >> a)
{
b = a;
for (int i = 2; i <= b / 2; i++)
{
while (a%i==0)
{
cout << i;
a = a / i;
if (a!= 1)
if (a%i == 0) {
cout << "^";
}
else
cout << "*";
c++;
}
}
if (c == 0)
cout << a;
cout << endl;
}
}
您的答案為: 757*132 ...略 正確答案為: 17
visualstudio也是跑17
求解
您的答案為: 7^2 正確答案為: 5
why
您的答案為: 7^2 正確答案為: 5
why
先列錯誤點好了
c 沒有初始化,所以先印合數在印質數時,質數不會顯示 (例: 先輸6 再輸3)
此外,以下提供些許建議
1.變數要有意義 (光看a b c d,我不明白是什麼意思)
a -> number, b -> tmp , d -> expo (exponential)
怎麼令都可,但至少要看的出來
2.有沒有列印可以用 bool ,空間小又明白
例: bool prime;
若有幫到忙,再麻煩幫我留個言喔~~
謝拉 ^^
http://ntnuee40475032h.pixnet.net/blog