zoukankan      html  css  js  c++  java
  • 【JavaScript】7-21 求特殊方程的正整数解 (15分)

    题目:

    本题要求对任意给定的正整数N,求方程X^2​​+Y​^2​​=N的全部正整数解。

    输入格式:

    输入在一行中给出正整数N(≤10000)。

    输出格式:

    输出方程X​^2​​+Y​^2​​=N的全部正整数解,其中XY。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。如果没有解,则输出 No Solution

    输入样例1:

    884

    输出样例1:

    10 28

    20 22

    输入样例2:

    11

    输出样例2:

    No Solution

    JavaScript代码:

    const { parse } = require('path')
    var readline = require('readline')
    
    const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
    })
    
    rl.on('line', function(line) {
        var N = parseInt(line)
        var ret = solution(N)
        console.log(ret)
    })
    
    function solution(N) {
        var arr = new Array()
        var flag = 0
        if(N > 0 && N <= 10000) {
            for(let X = 1;X <= 100;X++){
                for(let Y = 1;Y <= 100;Y++){
                    var mul = X * X + Y * Y
                    var s = X + ' ' + Y
                    if( mul == N && X <= Y){                    
                        arr.push(s)
                        flag = 1 
                    }                
                }
            }
            if(flag == 0) {
                return ('No Solution')
            }
            if(flag == 1) {
                return arr.join('
    ')
            }      
        }
      
    }

    注意:循环时注意范围,由N的范围可知X、Y的范围,避免超时问题。

  • 相关阅读:
    构建之法阅读笔记2
    2020.2.10
    2020.2.9
    2020.2.8
    2020.2.7
    2020.2.6
    2020.2.5
    学习进度——第十三周
    PHPStorm+XAMPP开发php项目
    第一阶段成果建议
  • 原文地址:https://www.cnblogs.com/moonskies/p/14326384.html
Copyright © 2011-2022 走看看