Практикум по программированию. Основы. Циклы. НОД и НОК

From AsIsWiki
Jump to: navigation, search

Назад · Задачи · Дальше


Contents

Java

import java.util.Scanner;

public class Task07 {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        System.out.println();
        System.out.println(" Наибольший общий делитель (НОД)");
        System.out.println(" и наименьшее общее кратное (НОК)");
        System.out.println("      двух натуральных чисел");
        System.out.println("----------------------------------");

        System.out.print(" Введите два натуральных числа: ");
        long n1 = in.nextLong();
        long n2 = in.nextLong();

        long a = n1, b = n2;

        while (a != b) {
            if (a > b) {
                a = a - b;
            } else {
                b = b - a;
            }
        }

        long nod = a;
        long nok = n1 * n2 / nod;

        System.out.println("----------------------------------");
        System.out.printf(" НОД(%d, %d) = %d\n", n1, n2, nod);
        System.out.printf(" НОК(%d, %d) = %d\n", n1, n2, nok);
    }
}


C++

// g++ 4.2

#include <iostream>

using namespace std;

int main() {
    
    long n1, n2;
    
    cout << "\n Наибольший общий делитель (НОД)\n";
    cout << " и наименьшее общее кратное (НОК)\n";
    cout << "      двух натуральных чисел\n";
    cout << "----------------------------------\n";
    
    cout << " Введите два натуральных числа: ";
    cin >> n1 >> n2;
    
    long a = n1, b = n2;
    
    while (a != b) {
        if (a > b) {
            a = a - b;
        } else {
            b = b - a;
        }
    }
    
    long nod = a;
    long nok = n1 * n2 / nod;

    cout << "----------------------------------\n";
    printf(" НОД(%ld, %ld) = %ld\n", n1, n2, nod);
    printf(" НОК(%ld, %ld) = %ld\n\n", n1, n2, nok);
    
    return 0;
}


Python

# Python 3

print('\n Наибольший общий делитель (НОД)')
print(' и наименьшее общее кратное (НОК)')
print('      двух натуральных чисел')
print('----------------------------------')

n1, n2 = input(' Введите два натуральных числа: ').split()

n1 = int(n1); n2 = int(n2)

a = n1; b = n2

while a != b:
    if a > b:
        a = a - b
    else:
        b = b - a

nod = a
nok = n1 * n2 / nod

print('----------------------------------')
print(' НОД(%ld, %ld) = %ld' % (n1, n2, nod))
print(' НОК(%ld, %ld) = %ld' % (n1, n2, nok))


Pascal



JavaScript

<html lang="ru">
<head>
    <meta charset="UTF-8">
    <script>
        function getNumbers(str) {
            return str.trim().replace(/\u0020{2,}/,'\u0020').split('\u0020');
        }
        function calc() {
            var dim = getNumbers(document.getElementById("dimId").value);

            var n1 = Number(dim[0]);
            var n2 = Number(dim[1]);
            var a = n1, b = n2;

            while (a != b) {
                if (a > b) {
                    a = a - b;
                } else {
                    b = b - a;
                }
            }

            var nod = a;
            var nok = n1 * n2 / nod;

            document.getElementById("resultId").innerHTML =
                    " НОД(" + n1 + ", " + n2 + ") = " + nod + "<br>" +
                    " НОК(" + n1 + ", " + n2 + ") = " + nok;
        }
    </script>
</head>
<body>

<p>Наибольший общий делитель (НОД)<br>
и наименьшее общее кратное (НОК)<br>
двух натуральных чисел</p>
<hr>
<p>Введите два натуральных числа: <input id="dimId" size="10"></p>
<hr>
<p id="resultId"></p>

<button onclick="calc()">Рассчитать</button>

</body>
</html>



Назад · Задачи · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools