我用 C 编写的一个简单程序需要半小时以上才能运行。我很惊讶 C 需要这么长时间才能运行,因为从我在 Internet 上可以找到的内容来看,C(除了 C++ 或 Java)是速度更快的语言之一。
// this is a program to find the first triangular number that is divisible by 500 factors
int main()
{
int a; // for triangular num loop
int b = 1; // limit for triangular num (1+2+3+......+b)
int c; // factor counter
int d; // divisor
int e = 1; // ends loop
long long int t = 0; // triangular number in use
while( e != 0 )
{
c = 0;
// create triangular number t
t = t + b;
b++;
// printf("%lld\n", t); // in case you want to see where it's at
// counts factors
for( d = 1 ; d != t ; d++ )
{
if( t % d == 0 )
{
c++;
}
}
// test to see if condition is met
if( c > 500 )
{
break;
}
}
printf("%lld is the first triangular number with more than 500 factors\n", t);
getchar();
return 0;
}
授予程序运行大量数据,但没有一个被保存,只是测试和传递。
我在 Windows 8 上使用 Tiny C 编译器。
运行如此缓慢是否有原因?实现相同结果的更快方法是什么?
谢谢!