Вторник, 07.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Помогите с задачей, пожалуйста) оч.надо
Art69Дата: Суббота, 05.11.2011, 23:48 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 1
Репутация: 0
Замечания: 0%
Статус: Offline
Пусть для целого n>0 функция d(n) равна количеству делителей числа n. Дано m>0. Упорядочить все числа n от 1 до m в порядке неубывания значений d(n). Указание: использовать только один массив длиной m.

Мой набросок, но программа не работает sad

Code
const z=100;
var
a:array[1..z] of integer;
m,i,j,p,q:byte;
x:integer;
function d(n:integer):byte;
var del:byte;
begin
del:=0;
for i:=1 to a do
if a mod i=0 then
begin
del:=del+1;
d:=del
end;
end;
begin
writeln('ўўҐ¤ЁвҐ а §¬Ґа­®бвм ¬ ббЁў  m');
readln(m);
for i:=1 to m do begin
writeln('‚ўҐ¤ЁвҐ ',i,'-© н«Ґ¬Ґ­в ¬ ббЁў ');
readln(a[i]);
end;
for i:=2 to m do begin {copTupoBka ny3bIpbkoM,ko/l-Bo pa3 ckoka npoxoguM 4epe3 MaccuB}
for j:=m downto i do begin
p:=d(a[j]); {j-HoMep Tekywero 3/leMeHTa B MaccuBe}
q:=d(A[j-1]);
if p>q then {P-Tekywuu,q-npegbIgywuu'}
begin
x:=a[j-1]; {X- nepeMeHHa9 g/l9I xpaHeHu9I 3/leMeHTa}
a[j-1]:=a[j];
a[j]:=x;
end;
end;
end;
for i:=1 to m do {B cuk/le BbIBoguM Ha ne4aTb - oTcopTupoBaHHbIe}
write (a[i],' ');
readln;
end.


Сообщение отредактировал Seqular - Воскресенье, 13.11.2011, 13:03
 
SeqularДата: Понедельник, 14.11.2011, 00:54 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Проверяйте на делители от 2 до n div 2 (для чётных X) и до n div 3 (для нечётных) - это сэкономит время и оптимизирует код. Что именно не получается у вас?

Поддерживаю также проект сообщество молодых сисадминов
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;