zoukankan      html  css  js  c++  java
  • 1080 两个数的平方和(数学)

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
     收藏
     关注
    给出一个整数N,将N表示为2个整数i j的平方和(i <= j),如果有多种表示,按照i的递增序输出。
     
    例如:N = 130,130 = 3^2 + 11^2 = 7^2 + 9^2 (注:3 11同11 3算1种)
    Input
    一个数N(1 <= N <= 10^9)
    Output
    共K行:每行2个数,i j,表示N = i^2 + j^2(0 <= i <= j)。
    如果无法分解为2个数的平方和,则输出No Solution
    Input示例
    130
    Output示例
    3 11
    7 9

    刚开始用暴力的方法,结果TEL,后来看了别人的代码发现其实很简单,也发现自己越来越不喜欢动脑筋想问题了

    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
        int n,k,m,i,j;
        cin>>n;
        m=sqrt(n+0.5);
        k=0;
        for(i=0;i<=m;i++)
            {
                j=sqrt(n-i*i);
                if(j*j+i*i==n&&j>=i)
                    {
                        k=1;
                        cout<<i<<" "<<j<<endl;
                    }
            }
        if(!k)
            cout<<"No Solution"<<endl;
        return 0;
    }
    

      

    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    ListView
    ScrollView-电影列表
    ScrollView
    Image组件
    TextInput
    Touchable类组件
    Text
    View
    FlexBox
    StyleSheet
  • 原文地址:https://www.cnblogs.com/h-hkai/p/7495526.html
Copyright © 2011-2022 走看看