Я попытался запустить этот код, но в несколько раз превысил лимит времени, как я могу сократить время?Как заставить мою программу работать быстрее?
Мне нужно понять, что я использовал в своей программе, для чего время занимает много, как некоторые функции и т. Д. Я понимаю, улучшая итерацию и сложность, я могу сократить время выполнения, но не помогло. Help
Программа проста, я беру точку а и точку b и вычисляю числа всех чисел палиндрома.
#include<stdio.h>
int ifpalin(int g)
{
int rev=0;
int tmp=g;
while(tmp>0)
{
rev=rev*10+(tmp%10);
tmp=tmp/10;
}
if(rev==g)
return 1;
else
return 0;
}
int findpalin(int a1,int b1)
{
int sm=0;
for(int i=a1;i<=b1;i++)
{
if (ifpalin(i)==1)
sm++;
}
printf("%d",sm);
printf("\n");
return 0;
}
int main()
{
int a,b,n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a);
scanf("%d",&b);
findpalin(a,b);
}
return 0;
}
C++ или чистый C? – Asu
Если этот код «работает», но недостаточно эффективен, [codereview.stackexchange.com] (http://codereview.stackexchage.com), вероятно, лучше подходит для вашего сообщения. – WhozCraig
Не отменяйте все это. Остановитесь, когда вы не сравните или не пройдете половину пути. – user4581301