#10058: 要如何加速


ricciyeh880427 (葉豪豪)

學校 : 新北市立三重高級中學
編號 : 47804
來源 : [1.163.164.143]
最後登入時間 :
2019-11-19 11:15:32
a695. [NOIP 2012 普及組] 1.分解质因数 -- NOIP2012普及組第一题 | From: [36.231.84.185] | 發表日期 : 2015-07-19 08:13

# include <stdio.h>
int main()
{
long long int i, j;
while(scanf("%lld", &i)!=EOF)
{
for(j=i-1;j>0;j--)
if(i%j==0)
break;
printf("%d\n", j);
}
return 0;
}
 
#11677: Re:要如何加速


buanyz03 (張晁瑋)

學校 : 新北市立板橋高級中學
編號 : 2629
來源 : [114.25.190.198]
最後登入時間 :
2023-09-06 15:43:50
a695. [NOIP 2012 普及組] 1.分解质因数 -- NOIP2012普及組第一题 | From: [61.231.58.229] | 發表日期 : 2017-01-17 19:24

# include
 
int main()
{
long long int i, j;
 
while(scanf("%lld", &i)!=EOF)
{
for(j=i-1;j>0;j--)
if(i%j==0)
break;
 
printf("%d\n", j);
}
 
return 0;
}

不需要特別加速

for(int j=2;j<n;++j)

            {

                if(n%j==0)

                {

                    cout<<n/j<<endl;

                    break;

                }

            }

只要改成由下往上搜就可以了(因為質因數在數字小的時候比較密集)

 

 

 
ZeroJudge Forum