HDU-3835 R(N)

来源:互联网 发布:广东网络干部培训补考 编辑:程序博客网 时间:2024/04/27 19:22

很简单,直接枚举,就行了。

#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std ;int main(){int n,m,x,ans;    while(scanf("%d",&n)!=EOF){if(n<0){printf("0\n");continue;} if(n==0){printf("1\n");continue;} m=(int)sqrt(n);ans=0;for(int i=0;i<=m;i++){x=(int)sqrt(n-i*i);if((x*x+i*i)==n){if(i*x==0) ans+=2;else if(x-i==0) ans+=4;else ans+=4;}}printf("%d\n",ans);    } return 0 ;}


原创粉丝点击