#10058: 要如何加速


ricciyeh880427 (葉豪豪)


# 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 (張晁瑋)


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

                }

            }

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