2009-05-09 20:34:44來源不明
What’s the next number?
相似題目:Q136: Ugly Numbers、ACM 443 Humble Numbers
我直接拿來做修改...
/********************************************************/
#include<stdio.h>
#include<stdlib.h>
long long int Tn,Pn,Hn,max=40756;
main()
{
int a,b;
long long int g5=2,g3=2,g2=2;
Tn=3;Pn=5;Hn=6;
for(a=2;a<=29999999;a++)
{
for(;g5<a;g5++)
if(Tn>=max) break;
else Tn=(g5+1)*(g5+2)/2;
for(;g3<a;g3++)
if(Pn>=max) break;
else Pn=(g3+1)*(3*(g3+1)-1)/2;
for(;g2<a;g2++)
if(Hn>=max) break;
else Hn=(g2+1)*(2*(g2+1)-1);
if(max==Tn&&max==Pn&&max==Hn) {printf("%d\n",max);break;}
if(max<Tn)max=Tn;
if(max<Pn)max=Pn;
if(max<Hn)max=Hn;
}
return 0;
}