• HDU 3835 R(N)


    R(N)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2761    Accepted Submission(s): 1420


    Problem Description
    We know that some positive integer x can be expressed as x=A^2+B^2(A,B are integers). Take x=10 for example,
    10=(-3)^2+1^2.
    We define R(N) (N is positive) to be the total number of variable presentation of N. So R(1)=4, which consists of 1=1^2+0^2, 1=(-1)^2+0^2, 1=0^2+1^2, 1=0^2+(-1)^2.Given N, you are to calculate R(N).
     
    Input
    No more than 100 test cases. Each case contains only one integer N(N<=10^9).
     
    Output
    For each N, print R(N) in one line.
     
    Sample Input
    2 6 10 25 65
     
    Sample Output
    4 0 8 12 16
    Hint
    For the fourth test case, (A,B) can be (0,5), (0,-5), (5,0), (-5,0), (3,4), (3,-4), (-3,4), (-3,-4), (4,3) , (4,-3), (-4,3), (-4,-3)
     
    Source
     
    Recommend
    xubiao
    暴力题,注意不要超时就行了,注意sqrt的数一定得是int类型的。
    include <iostream>
    #include <math.h>
    #include <stdio.h>
    using namespace std;
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            if(n==0)
            {
                cout<<1<<endl;
                continue;
            }
            int c=sqrt(n/2);
            int ans=0;
            int i,j;
            for(i=0;i<=c;i++)
            {
                j=sqrt(n-i*i);
                if(i*i+j*j==n)
                {
                    if(i==0||j==0||i==j)
                    ans=ans+4;
                    else
                    ans=ans+8;
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    文件的权限与隐藏属性
    Linux工具之bc计算器进制的转换
    老司机教你在windows不用软件隐藏重要文件
    LInux基础命令分类
    Linux文本的处理
    文件的默认权限UMASK
    H3C虚拟化之IRF
    H3C单臂路由配置
    H3C路由交换常用命令
    H3C交换机802.1&dot1x认证
  • 原文地址:https://www.cnblogs.com/Ritchie/p/5432349.html
Copyright © 2020-2023  润新知