Практикум по программированию. Основы. Циклы. НОД и НОК
From AsIsWiki
(Difference between revisions)
(4 intermediate revisions by one user not shown) | |||
Line 8: | Line 8: | ||
==Java== | ==Java== | ||
− | < | + | <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.println(" двух натуральных чисел | + | System.out.println(" двух натуральных чисел"); |
System.out.println("----------------------------------"); | System.out.println("----------------------------------"); | ||
− | System.out.print(" Введите два натуральных числа: "); | + | 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.println("----------------------------------"); | ||
+ | System.out.printf(" НОД(%d, %d) = %d\n", n1, n2, nod); | ||
+ | System.out.printf(" НОК(%d, %d) = %d\n", n1, n2, nok); | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
− | |||
− | + | ==C++== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <source lang="cpp"> | |
− | + | // 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; | ||
} | } | ||
− | </ | + | </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== | ||
− | < | + | <source lang="delphi"> |
− | </ | + | </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>