HDU 1128 Self Numbers
这题一看是水,二看还是水,最后一做就挂了,归咎于数组越界啊。我却全然不知。。。。 //62MS水过
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#define Max 1000005
int num[Max + 1];
inline int cal( int i )//用内联快很多
{
int sum = i;
while( i )
{
sum += i % 10;
i /= 10;
}
return sum;
}
void fun( )
{
memset( num,0,sizeof( num ) );
for( int i = 1; i < Max; ++i )
{
int x = cal( i );
if( x > Max )
continue;
num[x] = 1;//开始把这句写在if前面了,一直wa,哎 悲剧啊。。。。。
}
}
int main( )
{
fun( );
//freopen( "1.out","w",stdout );
for( int i = 1; i <= 1000000; ++i )
if( !num[i] )
printf( "%d\n",i );
//system( "pause" );
return 0;
}
本人还是新手 ,转载请注明来自Lvsi‘s home
浙公网安备 33010602011771号