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

From AsIsWiki
Revision as of 09:02, 23 March 2016 by Alex (Talk | contribs)

Jump to: navigation, search

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


Contents

 [hide

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// 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;
}


Pascal

1
 


JavaScript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<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