#include <iostream>
using namespace std;
int main () {
int digit = 300;
do {
int sum = 0;
int teiler = 1;
while (teiler <= digit)
{
if (digit % teiler == 0)
sum+=teiler;
teiler++;
}
if(sum % 10 == 0)
{
cout << digit << endl;
}
digit++;
} while (digit <= 600);
return 0;
}
Объяснение:
При работе на персональном компьютере довольно часто возникает необходимость уменьшить размер файла с целью экономии места на диске. Например, требуется перенести файлы с одного компьютера на другой на дискетах. Или нужно переслать большой файл по электронной почте - уменьшив его размер, можно сэкономить и время и деньги. Лучшее решение в таких случаях - создать так называемый архивный файл, или, проще говоря, архив. Это единый файл, в который для компактного хранения информации помещены в сжатом виде один или несколько исходных файлов.
Для работы с архивами предназначены специальные программы, которые называются архиваторами. С архиваторов можно упаковывать файлы в архивы и распаковывать их, а также просматривать содержимое архивов. Упаковка файлов в архив называется архивированием или архивацией, а их извлечение - разархивированием.
Существуют разные форматы архивов: ZIP, ARJ, RAR, CAB, TAR, LZH и др. Когда создается архивный файл, ему присваивается расширение, совпадающее с форматом архива. Например, файл с именем MyDoc.zip - это архив формата ZIP. Формат влияет на эффективность сжатия файлов; к примеру, архив формата RAR занимает на диске меньше места, чем архив формата ZIP, содержащий те же самые исходные файлы. Кроме того, эффективность зависит от типа файлов, упаковываемых в архив. Файлы картинок, имеющие расширение BMP, документы Microsoft Word удается сжать в два-четыре раза, текстовые файлы - приблизительно в два раза. Несколько хуже подвержены сжатию исполняемые файлы (с расширением EXE), а графические файлы, имеющие расширение TIF, практически не сжимаются.
var
a:array[1..1000] of integer;
n, i, j:integer;
flag:boolean;
begin
a[1] := 0;
write('n = '); readln(n);
for i := 2 to trunc(sqrt(n)) do
if n mod i = 0 then
begin
a[1] := i;
n := n div i;
break;
end;
if a[1] = 0 then
begin
writeln(n);
Exit;
end;
i := 1;
while n <> 1 do
begin
flag := false;
for j := a[i] to trunc(sqrt(n)) do
if n mod j = 0 then
begin
a[i + 1] := j;
inc(i);
n := n div j;
flag := true;
break;
end;
if (not flag) and (n <> 1) then
begin
a[i + 1] := n;
inc(i);
break;
end;
end;
//Вторая программа
const
m = 4;
n = 3;
var
a:array[1..m, 1..n] of integer;
i, j, Pr:integer;
begin
randomize;
Pr := 1;
Writeln('Исходный массив');
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i, j] := random(21) - 10;
if a[i, j] > 0 then
Pr := Pr * a[i, j];
write(a[i, j]:4, ' ');
end;
writeln;
end;
writeln;
writeln('Преобразованный массив');
for i := 1 to m do
begin
for j := 1 to n do
if a[i, j] < 0 then
write(Pr:8, ' ')
else
write(a[i, j]:8, ' ');
writeln;
end;
readln;
end.
for j := 1 to i do
write(a[j], ' ');
readln;
end.