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

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
 
(3 intermediate revisions by one user not shown)
Line 8: Line 8:
 
==Java==
 
==Java==
  
<pre>
+
<source lang="java">
 
import java.util.Scanner;
 
import java.util.Scanner;
  
Line 14: Line 14:
  
 
     public static void main(String[] args) {
 
     public static void main(String[] args) {
       
+
 
 
         Scanner in = new Scanner(System.in);
 
         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();
 
  
 +
        System.out.println();
 +
        System.out.println(" Наибольший общий делитель (НОД)");
 +
        System.out.println(" и наименьшее общее кратное (НОК)");
 +
        System.out.println("      двух натуральных чисел");
 
         System.out.println("----------------------------------");
 
         System.out.println("----------------------------------");
  
long a = n1, b = n2;
+
        System.out.print(" Введите два натуральных числа: ");
 +
        long n1 = in.nextLong();
 +
        long n2 = in.nextLong();
  
  while (a != b) {
+
        long a = n1, b = n2;
    if (a > b) {
+
a = a - b;
+
    } else {
+
b = b - a;
+
    }
+
}
+
  
long nod = a;
+
        while (a != b) {
long nok = n1 * n2 / nod;
+
            if (a > b) {
 +
                a = a - b;
 +
            } else {
 +
                b = b - a;
 +
            }
 +
        }
  
System.out.printf(" НОД(%d, %d) = %d\n", n1, n2, nod);
+
        long nod = a;
System.out.printf(" НОК(%d, %d) = %d\n", n1, n2, nok);
+
        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);
 
     }
 
     }
 
}
 
}
</pre>
+
</source>
  
  
 
==C++==
 
==C++==
  
<pre>
+
<source lang="cpp">
 
// g++ 4.2
 
// g++ 4.2
  
Line 69: Line 68:
 
     cout << " Введите два натуральных числа: ";
 
     cout << " Введите два натуральных числа: ";
 
     cin >> n1 >> n2;
 
     cin >> n1 >> n2;
   
 
    cout << "----------------------------------\n";
 
 
      
 
      
 
     long a = n1, b = n2;
 
     long a = n1, b = n2;
Line 84: Line 81:
 
     long nod = a;
 
     long nod = a;
 
     long nok = n1 * n2 / nod;
 
     long nok = n1 * n2 / nod;
      
+
 
 +
     cout << "----------------------------------\n";
 
     printf(" НОД(%ld, %ld) = %ld\n", n1, n2, nod);
 
     printf(" НОД(%ld, %ld) = %ld\n", n1, n2, nod);
 
     printf(" НОК(%ld, %ld) = %ld\n\n", n1, n2, nok);
 
     printf(" НОК(%ld, %ld) = %ld\n\n", n1, n2, nok);
Line 90: Line 88:
 
     return 0;
 
     return 0;
 
}
 
}
</pre>
+
</source>
 +
 
 +
 
 +
==Python==
 +
 
 +
<source lang="cpp">
 +
# 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))
 +
</source>
  
  
 
==Pascal==
 
==Pascal==
  
<pre>
+
<source lang="delphi">
</pre>
+
</source>
 +
 
 +
 
 +
==JavaScript==
 +
 
 +
<source lang="js">
 +
<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>
 +
</source>
  
  

Latest revision as of 09:23, 23 November 2017

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


Contents

[edit] 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);
    }
}


[edit] 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;
}


[edit] 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))


[edit] Pascal



[edit] 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