数论-北大-1183

0 views
Skip to first unread message

china_sjc

unread,
Aug 6, 2008, 5:37:18 AM8/6/08
to 中国矿业大学徐海学院算法课程
#include <stdio.h>
int main () {
unsigned long i, a, b, min;
scanf("%d",&a);min = a*a+2*a+2;
for ( i=2*a; i>a; i-- ) {
if ( (a*a+1)%(i-a) == 0 ) {
b = i+a+(a*a+1)/(i-a);
if ( b < min ) min = b;
else break;
}
}
printf("%d\n",min);
return 0;
}
Reply all
Reply to author
Forward
0 new messages