• <cf> Funky Numbers


    A. Funky Numbers
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    As you very well know, this year's funkiest numbers are so called triangular numbers (that is, integers that are representable as , where k is some positive integer), and the coolest numbers are those that are representable as a sum of two triangular numbers.

    A well-known hipster Andrew adores everything funky and cool but unfortunately, he isn't good at maths. Given number n, help him define whether this number can be represented by a sum of two triangular numbers (not necessarily different)!

    Input

    The first input line contains an integer n (1 ≤ n ≤ 109).

    Output

    Print "YES" (without the quotes), if n can be represented as a sum of two triangular numbers, otherwise print "NO" (without the quotes).

    Sample test(s)
    input
    256
    
    output
    YES
    
    input
    512
    
    output
    NO
    
    Note

    In the first sample number .

    In the second sample number 512 can not be represented as a sum of two triangular numbers.

    一重for loop解决,不用两重

    AC Code

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main()
    {
        int n,sr;
        bool flag;
        while(cin>>n)
        {
            flag=0;
            sr=pow(2*n-3,0.5);
            for(int i=1;i<=sr;i++)
            {
                int k=pow(2*n-i*(i+1),0.5);
                //do not neglect "k>0"
                if(k && k*(k+1)+i*(i+1)==2*n)
                {
                    flag=1;
                    break;
                }
            }
            if(flag) cout<<"YES"<<endl;
            else cout<<"NO"<<endl;
        }
        return 0;
    }
    


  • 相关阅读:
    vue 中 过滤filter 和 foreach的使用
    vuex 获取数据
    动态设置样式 calc计算
    vue-echarts-v3 使用 dataZoom属性 相关笔记
    访存加速-Speed-up of Memory Access Intensive Program
    台式机新添内存条无法开机?
    ADB的版本问题
    1184. Distance Between Bus Stops
    485. Max Consecutive Ones
    448. Find All Numbers Disappeared in an Array
  • 原文地址:https://www.cnblogs.com/cszlg/p/2910591.html
Copyright © 2020-2023  润新知