#14040: TLE,這該怎麼改


julian2001208 (abc)

學校 : 高雄市立高雄高級中學
編號 : 61230
來源 : [111.249.79.196]
最後登入時間 :
2023-09-21 15:42:51
a010. 因數分解 | From: [124.218.86.219] | 發表日期 : 2018-06-03 19:32

#include <iostream>
#include <math.h>
using namespace std;

int main(int argc, char *argv[])
{
int a;
int b;
while(cin >> a)
{
for(int i=2;i<=a;i++)
{
b=1;
while(a%i==0)
{
cout << i;
a/=i;
while(a%i==0)
{
tryagain:
b++;
a/=i;
if(a%i==0)
{
goto tryagain;
}
else
{
cout << "^" << b;
}
}
}
while(a==1)
{
cout << endl;
}
cout << " * ";
}

}
}

 
#14041: Re:TLE,這該怎麼改


julian2001208 (abc)

學校 : 高雄市立高雄高級中學
編號 : 61230
來源 : [111.249.79.196]
最後登入時間 :
2023-09-21 15:42:51
a010. 因數分解 | From: [124.218.86.219] | 發表日期 : 2018-06-03 20:24

 

#include <iostream>

#include <math.h>

using namespace std;

 

int main(int argc, char *argv[])

{

    int a;

    int b;

    while(cin >> a)

    {

        for(int i=2;i<=a;i++)

        {

            tryagain1:

            b=1;

            if(a%i==0)

            {

                cout << i;

                a/=i;

                while(a%i==0)

                {

                    tryagain:

                    b++;

                    a/=i;

                    if(a%i==0)

                    {

                        goto tryagain;

                    }

                    else

                    {

                        cout << "^" << b;

                    }

                 

                 }

                 

            }

            else

            {

                i++;

                goto tryagain1;

            }

            if(a==1)

            {

                cout << endl;

            }   

            else

            {

                cout << " * ";

            }

        }

        }

    }

阿哈,不小心打錯了,這個給大家拿來參考




 
ZeroJudge Forum