В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
angel66613666
angel66613666
11.06.2022 14:09 •  Информатика

На ввод подается одно число. найдите сумму всех его простых делителей. входные данные одно целое положительное число, не превышающее 10 в степени 6 и большее, чем один. выходные данные выведите сумму простых делителей этого числа. примеры ввод 6 вывод 5

Ответ:
karvinatatiana
karvinatatiana
09.10.2020 06:40
Delphi / Pascal
function mySimpleDigit(a: integer):boolean;
var i: integer;
begin
for i:=sqrt(a) downto 1 do
if not (a mod i = 0) then mySimpleDigit:=false else mySimpleDigit:=true;
end;
var i,n,s: integer;
begin
write('Введите число: ');
readln(n);
if ((n>1) and (n<1000000)) then
begin
s:=0;
for i:=2 to n-1 do
if ((n mod i = 0) and (mySimpleDigit(i) = true)) then s:=s+i;
end;
writeln('Сумма всех простых делителей: ', s);
readln;
end.

C++
#include <cmath>
#include <iostream>
using namespace std;
bool mySimpleDigit(unsigned a) {
for (unsigned i =sqrt(a); i > 1; i--)
if (!(a % i)) return false;
return true;
}
int main() {
unsigned n,s;
cin >> n;
if ((n>1) && (n<1000000)) {
s=0;
for (unsigned i=2; i<=n; i++)
if ((n%i==0) && (mySimpleDigit(i)==true)) s+=i;
cout << "Summa vsex prostix deliteley: " << s;
} else cout << "Vvedite drugoe chislo";
return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?