#10058: 要如何加速


ricciyeh880427 (葉豪豪)

學校 : 新北市立三重高級中學
編號 : 47804
來源 : [1.163.164.143]
最後登入時間 :
2019-11-19 11:15:32

# 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

# 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;

                }

            }

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