Нарисовать блок схему по исходному коду (C++) #include
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
ifstream input; // создаем файлы
ofstream output;
int diffr = 1000, m = 1, nod = 0, nod2 = 1, shag = 0, stepalg = 0, i = 0, pr = 0, max = 0, mdiv2 = 0;
int m1, m2, nok, a, b;
input.open("input.txt");
if (!input.is_open())
{
cout << "Ошибка с открытием файла" << endl;
}
else // Если файл успешно открылся
{
int cot[10]; // возьмем 10 чисел
while (input >> pr)
{
cot[i++] = pr; // запишем их в массив
}
for (m = 0; m < 10; m++)
{
if (cot[m] > max) { max = cot[m]; } // найдем максимальное число
}
input.close();
for (pr = 0; pr < i; pr++) {
if (abs(max / 2 - cot[pr]) < diffr) {
diffr = abs(max / 2 - cot[pr]);
mdiv2 = cot[pr]; // нашли максимальное число меньше max/2
}
10;
}
pr = 0;
a = cot[0];
b = cot[1];
while ((a != 0) && (b != 0)) {
if (a > b) { a = a % b; }
else { b = b % a; }
shag++;
}
nod = a + b; // Нод для первых двух чисел
for (pr = 2; pr < i; pr++)
{
while ((nod > 0) && (cot[pr] > 0))
{
if (nod > cot[pr]) { nod = nod % cot[pr]; }
else { cot[pr] = cot[pr] % nod; }
shag++; // окончательное число шагов
}
nod = cot[pr] + nod; // окончательный нод
}
cout << "НОД чисел, которые содержатся в файле: " << endl <<
nod << endl;
cout << "Количество шагов: " << endl << shag << endl;
m1 = max;
m2 = mdiv2;
cout << "Максимальное число (m) равно: " << endl << max << endl
<< "Ближайшее к m/2 число равно: " << endl << mdiv2 << endl;
while (max != 0 && mdiv2 != 0)
{
if (max > mdiv2) { max = max % mdiv2; }
else { mdiv2 = mdiv2 % max; }
}
nod2 = max + mdiv2; // нашли нод максимально числа и ближайшего числа к его половине
nok = (m1 * m2) / nod2; // нашли нок
cout << "НОК(" << m1 << ", " << m2 << ") = " << nok << endl;
// Запишем полученные данные и алгоритм "Решето Эратосфена"
output.open("output.txt");
if (!output.is_open())
{
cout << "Ошибка с открытием файла" << endl;
}
else
{ // файл успешно открылся
int* a = new int[m1 + 1];
for (int i = 0; i < m1; i++)
{
a[i] = i;
}
a[1] = 0;
for (int s = 2; s < m1; s++) {
if (a[s] != 0) {
for (int j = s * 2; j < m1; j += s) {
a[j] = 0;
}
}
}
for (i = 0; i < m1; i++) {
if (a[i] != 0)
{
output << a[i] << endl; // запишем в output все простые числа до max
stepalg++;
}
}
cout << "Шаг - " << stepalg << endl << "Квадратный корень из максимального числа: " << endl << sqrt(m1) << endl;
cout << "Алгоритм 'Решето Эратосфена' в файле output.txt!" << endl;
}
output.close();
}
return 0;
using namespace std;
double val, p;
//вводимые параметры значения функции и степень полинома
//x - значение функции
//res - значение, которое изменяется в процессе рекурсии по схеме Горнера
//s - рассматриваемая текущая степень x
double rec(double x, double res, double s)
{
if (s == 0.0)
return res;
return rec(x, x * res + s - 1, s - 1);
}
int main(){
cin >> val >> p;
//старший коэффициент в схеме Горнера сначала сносится вниз,
//поэтому его передаем в качестве начального параметра для результата
cout << fixed << rec(val, p, p) << endl;
return 0;
}
{данная программа переводит любое сочетание символов ascii в систему счисления заданную пользователем.}
//pascal abc.net v3.0 сборка 1111
var
a,i,b,r,n,j,bug: integer;
s,se,slo,slof: string;
procedure preob(var a,b,n: integer; var se: string);
begin
repeat
b: =a mod n;
a: =a div n;
str(b,se);
s+=se;
until (a< =n-1);
end;
beginreadln(slo);
readln(n);
for j: =1 to length(slo) do
begin;
a: =ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i: =1 to length(s) div 2 do
begin;
se: =s[i];
s[i]: =s[length(s)-i+1];
s[length(s)-i+1]: =se[1];
end;
write(s,'-');
slof: =slof+s;
delete(s,1,length(s));
end;
end.
пример ввода:
работа на завтра.
2
пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}