µÚ°ËÌâ
ËÄÆ½·½ºÍ
ËÄÆ½·½ºÍ¶¨Àí£¬ÓÖ³ÆÎªÀ¸ñÀÊÈÕ¶¨Àí£º
ÿ¸öÕýÕûÊý¶¼¿ÉÒÔ±íʾΪÖÁ¶à4¸öÕýÕûÊýµÄƽ·½ºÍ¡£ Èç¹û°Ñ0°üÀ¨½øÈ¥£¬¾ÍÕýºÃ¿ÉÒÔ±íʾΪ4¸öÊýµÄƽ·½ºÍ¡£ ±ÈÈ磺
5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2 £¨^·ûºÅ±íʾ³Ë·½µÄÒâ˼£©
¶ÔÓÚÒ»¸ö¸ø¶¨µÄÕýÕûÊý£¬¿ÉÄÜ´æÔÚ¶àÖÖÆ½·½ºÍµÄ±íʾ·¨¡£ ÒªÇóÄã¶Ô4¸öÊýÅÅÐò£º 0 <= a <= b <= c <= d
²¢¶ÔËùÓеĿÉÄܱíʾ·¨°´ a,b,c,d ΪÁªºÏÖ÷¼üÉýÐòÅÅÁУ¬×îºóÊä³öµÚÒ»¸ö±íʾ·¨
³ÌÐòÊäÈëΪһ¸öÕýÕûÊýN (N<5000000)
ÒªÇóÊä³ö4¸ö·Ç¸ºÕûÊý£¬°´´ÓСµ½´óÅÅÐò£¬ÖмäÓÿոñ·Ö¿ª
ÀýÈ磬ÊäÈ룺 5
±à¼°æword
Ôò³ÌÐòÓ¦¸ÃÊä³ö£º 0 0 1 2
ÔÙÀýÈ磬ÊäÈ룺 12
Ôò³ÌÐòÓ¦¸ÃÊä³ö£º 0 2 2 2
ÔÙÀýÈ磬ÊäÈ룺 773535
Ôò³ÌÐòÓ¦¸ÃÊä³ö£º 1 1 267 838
×ÊÔ´Ô¼¶¨£º
·åÖµÄÚ´æÏûºÄ < 256M CPUÏûºÄ < 3000ms
ÇëÑϸñ°´ÒªÇóÊä³ö£¬²»Òª»ÉßÌí×ãµØ´òÓ¡ÀàËÆ£º¡°ÇëÄúÊäÈë...¡± µÄ¶àÓàÄÚÈÝ¡£
ËùÓдúÂë·ÅÔÚͬһ¸öÔ´ÎļþÖУ¬µ÷ÊÔͨ¹ýºó£¬¿½±´Ìá½»¸ÃÔ´Âë¡£
×¢Òâ: mainº¯ÊýÐèÒª·µ»Ø0
×¢Òâ: ֻʹÓÃANSI C/ANSI C++ ±ê×¼£¬²»Òªµ÷ÓÃÒÀÀµÓÚ±àÒë»·¾³»ò²Ù×÷ϵͳµÄÌØÊ⺯Êý¡£ ×¢Òâ: ËùÓÐÒÀÀµµÄº¯Êý±ØÐëÃ÷È·µØÔÚÔ´ÎļþÖÐ #include
±à¼°æword
Ìύʱ£¬×¢ÒâÑ¡ÔñËùÆÚÍûµÄ±àÒëÆ÷ÀàÐÍ¡£ ´ð°¸£º ·½·¨Ò»£º
#include
for(int i = 0 ; i * i <= n ; i ++) {
for(int j = 0 ; j * j <= n ; j ++){ for(int k = 0 ; k * k <= n ; k ++) {
int temp = n - i*i - j*j - k*k; double l = sqrt((double) temp); if(l == (int)l ) {
printf(\ flag = true; break; }
±à¼°æword
}
if(flag)break; }
if(flag)break; } return 0; } ·½·¨¶þ£º
#include
int mpt[5000010] ={0}; //mpt[i] = 1±íʾi Äܹ»ÓÃÁ½¸öÍêȫƽ·½ÊýÏà¼Ó¶øµÃ¡£ int n; void init() {
for(int i = 0 ; i*i <= n ; i ++) for(int j = 0 ; j*j <=n ; j ++) if(i*i+j*j <= n) mpt[i*i+j*j] = 1; } int main() {
int flag = false; scanf(\ init();
±à¼°æword