1.Найти все совершенные числа
2. Определить во введенном числе кол-во нечетных чисел и среднее арифметическое четных.
3.Вывести на экран первые 100 простых чисел.
Другие языки программирования и технологии
1. Найти все совершенные числа2. Определить во введенном числе кол-во нечетных чисел и среднее арифметическое четных.
Зачёт, наверное уже давно закончился, но сложно пройти мимо такой грандиозной задачи:
Найти ВСЕ совершенные числа. Это при том, что за последние две тысячи лет нашли только 47 таких чисел и неизвестно существует ли самое большое совершенное число.
Задача 2:
program N68110147_2;
var x:longint;
nOdd, nEven, s, d:byte;
begin
writeln('Введите целое число: ');
readln(x);
x := abs(x);
nOdd := 0;
nEven := 0;
s := 0;
repeat
d := x mod 10;
inc(nOdd, ord(odd(d)));
inc(nEven, ord(not odd(d)));
inc(s, d * ord(not odd(d)));
x := x div 10
until x = 0;
writeln('Кол-во нечётных цифр = ', nOdd);
writeln('Среднее арифметическое чётных цифр = ', s / (nEven + ord(nEven = 0)):0:4);
readln
end.
Задача 3:
program N68110147_3;
const n = 100;
var Prime:array[ 1 .. n ] of integer;
x:integer;
k, i:byte;
begin
x := 3;
k := 2;
Prime[ 1 ] := 2;
Prime[ k ] := x;
while k < n do
begin
inc(x, 2);
i := 1;
while (Prime[ i ] <= sqrt(x)) and (x mod Prime[ i ] > 0) do
inc(i);
if x mod Prime[ i ] > 0 then
begin
inc(k);
Prime[ k ] := x
end
end;
writeln(n,' первых простых чисел: ');
for i := 1 to n do
write(Prime[ i ]:5);
readln
end.
P.S. Массив в третьей задаче задействован для уменьшения количества проверок.
P.P.S. Работоспособность программ в PascalABC не проверялась.
Найти ВСЕ совершенные числа. Это при том, что за последние две тысячи лет нашли только 47 таких чисел и неизвестно существует ли самое большое совершенное число.
Задача 2:
program N68110147_2;
var x:longint;
nOdd, nEven, s, d:byte;
begin
writeln('Введите целое число: ');
readln(x);
x := abs(x);
nOdd := 0;
nEven := 0;
s := 0;
repeat
d := x mod 10;
inc(nOdd, ord(odd(d)));
inc(nEven, ord(not odd(d)));
inc(s, d * ord(not odd(d)));
x := x div 10
until x = 0;
writeln('Кол-во нечётных цифр = ', nOdd);
writeln('Среднее арифметическое чётных цифр = ', s / (nEven + ord(nEven = 0)):0:4);
readln
end.
Задача 3:
program N68110147_3;
const n = 100;
var Prime:array[ 1 .. n ] of integer;
x:integer;
k, i:byte;
begin
x := 3;
k := 2;
Prime[ 1 ] := 2;
Prime[ k ] := x;
while k < n do
begin
inc(x, 2);
i := 1;
while (Prime[ i ] <= sqrt(x)) and (x mod Prime[ i ] > 0) do
inc(i);
if x mod Prime[ i ] > 0 then
begin
inc(k);
Prime[ k ] := x
end
end;
writeln(n,' первых простых чисел: ');
for i := 1 to n do
write(Prime[ i ]:5);
readln
end.
P.S. Массив в третьей задаче задействован для уменьшения количества проверок.
P.P.S. Работоспособность программ в PascalABC не проверялась.
Похожие вопросы
- Язык С. Как стереть определенную область или как спомощью getchar() ввести число?
- в матрице Х (8,5) найти среднее арифметическое значение максимальных элементов в каждой строке
- Помогите с кодом, нужно понять являются ли 3 введенных числа Арифметической прогрессией, мой код выдает ошибку
- как можно нати среднее арифметическое всех целых плюсовых чисел меньше 10?
- Напишите функцию, которая возвращает среднее арифметическое целых чисел i, j,k,m
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- Дан массив L1,..,L20. Заменить элементы, стоящие после Lmin, на среднее арифметическое всего ряда.
- Pascal: Дано 3-значное число N.Определить,являются ли числа,из которых оно состоит членами геометрической прогрессии
- Предложите алгоритм нахождения количества максимальных чисел из трех введенных чисел.
- Дана действительная матрица размера 6x9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.