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