Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2009, 15:53   #1
stuf
 
Регистрация: 13.04.2009
Сообщений: 6
По умолчанию ПАСКАЛЬ,помогите решить контрольную

Помогите решить контрольную из 5 задач...
1.Найти все натуральные числа из промежутка от a до b,у которых количество делителей превышает заданное число K.
2.Найти все натуральные числа a,b и c из интервала от 1 до 20,для которых выполняется равенство a+b=C2(c в квадрате).
3.Дано натуральное число:
а)найти количество цифр данного числа,больших A(A вводится с клавиатуры).
б)верно ли,что данное число принадлежит промежутку от A до B и кратно 3,4 и 5(A и B вводятся с клавиатуры)?
4.Найти сумму всех чисел из промежутка от A до B ,кратных 13 и 5(A и B вводятся с клавиатуры).
5.Найти все симметрические натуральные числа из промежутка от A до B (A и B вводятся с клавиатуры).
P.S.знания паскаля на нуле....хоть задачи и легкие но решить немогу,надюсь на вашу помощь...
и просьба:решите попроще...чтобы не возникло подозрений у препода...
stuf вне форума Ответить с цитированием
Старый 13.04.2009, 16:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
2.Найти все натуральные числа a,b и c из интервала от 1 до 20,для которых выполняется равенство a+b=C2(c в квадрате).
Примерно так:
Код:
var a,b,c:integer; r:real;
begin
 for a:=1 to 20 do  for b:=1 to 20 do  for c:=1 to 20 do  begin
  if (a+b)=sqr(c) then writeln(a,b,c);
 end;
end.
Цитата:
а)найти количество цифр данного числа,больших A(A вводится с клавиатуры).
Перевод числа в строку подозрение вызовет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2009, 16:14   #3
stuf
 
Регистрация: 13.04.2009
Сообщений: 6
По умолчанию

честно скажу:незнаю...
у нас просто информатика стоит в расписании,а так ее небывает....обычно препод нас отпускает....
и все были в шоке когда он выдал контрольную....
причем оценка за эти 5 задач идет в атестат...и не хочется чтобы 4 и 5 потускнели перед 2 по информатике...:-(
stuf вне форума Ответить с цитированием
Старый 13.04.2009, 16:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и не хочется чтобы 4 и 5 потускнели перед 2 по информатике
Штудируй книги.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2009, 16:33   #5
stuf
 
Регистрация: 13.04.2009
Сообщений: 6
По умолчанию

поздно уже книги читать....времени нет...
тем более нужно готовится к устным экзаменам и егэ...
stuf вне форума Ответить с цитированием
Старый 13.04.2009, 16:54   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
4.Найти сумму всех чисел из промежутка от A до B ,кратных 13 и 5(A и B вводятся с клавиатуры).
Ну вот тебе еще один Quantium of solice:
Код:
var a,b:integer;;
begin
 readln(a,b);
 while a<=b do if (a mod 13=0)or(a mod 5=0) then write(a:5);
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2009, 18:19   #7
stuf
 
Регистрация: 13.04.2009
Сообщений: 6
По умолчанию

спасибо!
stuf вне форума Ответить с цитированием
Старый 13.04.2009, 18:24   #8
stuf
 
Регистрация: 13.04.2009
Сообщений: 6
По умолчанию

ммм...нашел на одном саите....решение задачи еще 1...
Код:
{4.Найти все натуральные числа из промежутка от A до B, у которых
количество делителей превышает заданное число К}
VAR
 A, B, K, i, count: Longint;
BEGIN
 WriteLn('Число делителей больше К из промежутка от А до В');
 Write('Введите число A: '); ReadLn(A);
 Write('Введите число B: '); ReadLn(B);
 Write('Введите минимальное число делителей K: '); ReadLn(K);
 if A > B then begin
     WriteLn('Неправильный ввод: A > B');
     Halt(1)  {Прекращение работы с кодом ошибки}
 end;
 while A <= B do begin
   count := 0;
   {Небольшая проблема: 1 и само число считать делителями?
    Здесь считаются. Иначе нужно
    for i=2 to A-1 do ...}
   for i:= 1 to A do
   begin
     if A mod i = 0 then inc(count);
   end;
   if count > K then WriteLn(A,' - Число делителей: ',count);
   A := A + 1;
 end;
 if count = 0 then WriteLn('Таких чисел нет');
 WriteLn;
END.
как его можно упростить?и что такое-count,inc,longint?
stuf вне форума Ответить с цитированием
Старый 14.04.2009, 11:39   #9
stuf
 
Регистрация: 13.04.2009
Сообщений: 6
По умолчанию

ктонибудь поможет али нет?
stuf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить контрольную на С++. Срочно! MjRed Фриланс 4 06.12.2008 10:16
помогите решить контрольную на паскале Hardboy71 Фриланс 4 11.11.2008 15:27