这套题里面最水的一个。。直接根号下暴力就OK了
我的代码:
#include<stdio.h> #include<math.h> bool judge(int n) { int t; t=(int)sqrt(n); if(t*t==n) return true; return false; } int main() { int n,i,ans; while(scanf("%d",&n)!=EOF) { ans=0; for(i=0;i*i<=n;i++) { if(judge(n-i*i)) { if(i==0||n-i*i==0) ans=ans+2; else ans=ans+4; } } printf("%d\n",ans); } return 0; }