• 51nod 1080 两个数的平方和


    给出一个整数N,将N表示为2个整数i与j的平方之和(i <= j),如果有多种表示,按照i的递增序输出。
    例如:N = 130,130 = 3^2 + 11^2 = 7^2 + 9^2(注:3^2 + 11^2同11^2 + 3^2算1种)
     

    输入

    一个数N(1 <= N <= 10^9)

    输出

    共K行:每行2个数,i j,表示N = i^2 + j^2(0 <= i <= j)。
    如果无法分解为2个数的平方和,则输出No Solution

    输入样例

    130

    输出样例

    3 11
    7 9



    代码:
    #include <iostream>
    #include <cstdlib>
    #include <cstdio>
    #include <cmath>
    #include <algorithm>
    
    using namespace std;
    int n,c;
    int main() {
        scanf("%d",&n);
        for(int i = 0;i * i * 2 <= n;i ++) {
            int d = sqrt(n - i * i);
            if(d * d + i * i == n) {
                c ++;
                printf("%d %d
    ",i,d);
            }
        }
        if(!c) printf("No Solution");
        return 0;
    }
  • 相关阅读:
    Oracle条件分支查询
    Oracle分组函数实例
    使用JDK合成照片
    Oracle存储过程记录异常日志
    Emmet Cheat Sheet(Sublime编辑)
    JS中级
    JS中级
    架构师必须知道的架构设计原则
    JS中级
    JS中级
  • 原文地址:https://www.cnblogs.com/8023spz/p/10879986.html
Copyright © 2020-2023  润新知