ans

huangjunxiang 2024-01-13 14:19:14 3 返回题目

这道题就无脑写循环:
但要优化两点:
b<=sqrt(n-a*a)和c<=sqrt(n-a*a-b*b)
又不然就扣一半。
CODE:
#include<bits/stdc++.h>
#define long long int
using namespace std;
int n,a,b,c,sum,s=0,aa,bb,cc;
signed main(){
	cin>>n;
	for(int a=0;a<=sqrt(n);a++){
		aa=a*a;
		for(int b=0;b<=sqrt(n-aa);b++){
			bb=b*b;
			for(int c=0;c<=b<=sqrt(n-aa-bb);c++){
				int d=sqrt(n-a*a-b*b-c*c);
				if(a*a+b*b+c*c+d*d==n){
					s++;
				}
			}
		}
	}
	cout<<s;
	return 0;
}
{{ vote && vote.total.up }}