HDU 1406 完数
水题
#include<stdio.h>
int p[10001];
void chart( )
{
p[0] = 0;
for( int i = 1; i <= 10010; ++i )
{
int f = 1,sum = 0;
for( int k = 1; k <= i / 2; ++k )
{
if( i % k == 0 )
sum += k;
if( sum > i )
break;
}
if( i == sum )
p[i] = p[i - 1] + 1;
else
p[i] = p[i - 1];
}
}
int main( )
{
chart( );
int a,b,t;
scanf( "%d",&t );
while( t-- )
{
scanf( "%d%d",&b,&a );
if( a < b )
a ^= b ^= a ^= b;
printf( "%d\n",p[a] - p[b-1] );
}
return 0;
}
本人还是新手 ,转载请注明来自Lvsi‘s home
浙公网安备 33010602011771号