В алгоритме RSA для формирования пары ключей вычисляется модуль — число , являющееся произведением двух чисел и . Из теории чисел известно, что любое натуральное число, не являющееся или единицей, можно разложить в произведение чисел единственным образом. Разложите число = 1271 на множители, в ответе укажите модуль их разности.
import math
p = int(
b = false
for i in range(1, p ** 2):
gip = (p ** 2) + (i ** 2)
if math.sqrt(gip) % 1 == 0:
b = true
if int(math.sqrt(gip)) ! = p:
print(int(math.sqrt(
if b == false:
print(-1)
# что-то типо этого, но не проходит по времени. надо смотреть диапазон. может если кто дорешает, ответьте. а так всё норм работает)
using System;
namespace ConsoleApp6
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("what is the salary for a working day?");
int ZarplataZaDen = int.Parse(Console.ReadLine());
Console.WriteLine("How many days did you work?");
int RabotalDnei = int.Parse(Console.ReadLine());
if (RabotalDnei <= 1 || RabotalDnei > 31)
{ Console.WriteLine("incorrect data"); return; }
if (RabotalDnei < 9)
{ Console.WriteLine("Wage: " + ZarplataZaDen * RabotalDnei); }
if (RabotalDnei > 10 && RabotalDnei < 20)
{ Console.WriteLine("Wage: " + ((ZarplataZaDen * RabotalDnei) + 300)); }
if (RabotalDnei >= 20)
{ Console.WriteLine("Wage: " + ((ZarplataZaDen * RabotalDnei) + 700)); }
}
}
}
Объяснение: Так как не был указан язык программирования, то задание было выполнено на языке С#. Без обработки исключений.