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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2008, 15:42   #1
poluprogramist
 
Регистрация: 20.05.2008
Сообщений: 3
По умолчанию 3 задачи на паскале

Помогите пожалуста решить задачи а то у меня чето не получается
4 задачи ели решил а эти не получается

Вот первая
Дано натуральное число n. Получить все натуральные числа, меньше n и взаимно простые с ним.


вот вторая
Дано натуральное число n ( n> 99 ). Определить число сотен в нем.


Вот это наверное самая сложная
Задано n точек координат на плоскости x[n], y[n]. Подсчитать количество точек, попавших в кольцо с радиусами внутренним r и внешним R, включая точки, лежащие непосредственно на границе.


ПоМоГиТе пожайлуста мне
poluprogramist вне форума Ответить с цитированием
Старый 24.05.2008, 16:12   #2
Witaliy
Форумчанин Подтвердите свой е-майл
 
Регистрация: 27.04.2008
Сообщений: 179
По умолчанию

Вот решение второй:

program two;
var n,res,er : integer;
s,resInStr : string;
begin
readln(n);
str(n,s) ;
if n > 100 then begin
resInStr := copy(s,0, length(s)-2);
val(resInstr,res,er);
writeln(res);
end
else
writeln(0);
readln;
end.
www.programmer.uaforums.net - Український форум програмістів.

www.satellite.ipsys.net - Український форум супутникового телебачення.
Witaliy вне форума Ответить с цитированием
Старый 24.05.2008, 16:16   #3
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

3 мне понрав что значит в кольцо? может НА кольцо?
^_^
WOLFak вне форума Ответить с цитированием
Старый 24.05.2008, 16:19   #4
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

Вот решение первой

Код:
var n,i:integer;
begin
readln(n);
for i:=2 to n-1 do
if  (n mod i)=0 then writeln(i);
readln;
end.
Witaliy
Тегами пользуйся
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 24.05.2008, 16:27   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
resInStr := copy(s,0, length(s)-2);
Нужно resInStr := copy(s,1, length(s)-2);иначе всегда будет 0, потому что s[0]-это длина строки.

To Vitalik007 Это вы нашли делители числа N, а нужно взаимно простые, т.е. числа меньшие N и не имеющие с ним общих делителей, кроме единицы. Поэтому сначала надо написать(или списать) функцию NOD, а потом в цикле
Код:
for i:=2 to n-1 do
if NOD(i,N)=1 then writeln(i);
readln;
По третьей задаче-ищите на форуме, довольно часто задают.

P.S. Попробовал сам найти - облом. Быстрее код написать.
Основное: формула окружности с центром в начале координат x^2+Y^2=r^2;
Если радиус окружности, проходящей через точку >=внутреннего радиуса кольца(r1) и <= внешнего радиуса кольца, то точка на кольце.

Код:
uses crt;
var x,y:array[1..100]of integer;
    n,i,r1,r2,k:integer;
begin
clrscr;
randomize;
write('Vvedite kolichectvo tochek n=');
readln(n);
write('r1=');readln(r1);
write('Vvedite r2>r1=');readln(r2);
write('Coordinata X: ');
for i:=1 to n do
    begin
      x[i]:=random(10)-5;
      write(x[i]:3);
    end;
writeln;
write('Coordinata Y: ');
for i:=1 to n do
    begin
      y[i]:=random(10)-5;
      write(y[i]:3);
    end;
writeln;
writeln;
k:=0;
for i:=1 to n do
if (sqr(x[i])+sqr(y[i])>=sqr(r1))
and(sqr(x[i])+sqr(y[i])<=sqr(r2))then
   begin
     k:=k+1;
   end;
writeln('Kolichestvo tochek na poverhnosti kolca=',k);
readln
end.

Последний раз редактировалось puporev; 24.05.2008 в 18:12.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи в Паскале. fairy_cookies Помощь студентам 3 02.03.2009 20:58
Задачи в Паскале vitekbest Помощь студентам 1 06.04.2008 19:35