IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Циклы, строки, массивы
Тупой прогер
сообщение 20.12.2005 22:32
Сообщение #1


Гость






Такие задачи:
1. Приписать по 1 в начало и в конец записи числа N. Наример было 5379, стало 153791.
2. Определить, является ли заданное число степенью 3.
3. Выяснить, является ли последовательность цифр натурального числа при просмотре их справа налево возрастающей последовательностью. Наример для числа 76431 ответ положительный, а для 9782 - отрицательный.
Если кто-то решит хоть одну задачу из этих трех - буду признателен. smile.gif

В следующий раз тему с таким названием удалю

Сообщение отредактировано: klem4 - 20.12.2005 22:34
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 11)
klem4
сообщение 20.12.2005 22:47
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Все задачи решалсиь, пользуйся поиском
подсказка : как выделить цифру из числа

uses crt;
var
n : word;
begin
readln(n);
while(n>0) do begin
writeln(n mod 10);
n := n div 10;
end;
readln
end.


Сообщение отредактировано: klem4 - 20.12.2005 22:47


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Tupoi_Proger
сообщение 21.12.2005 20:44
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


только что проюзал поиск - таких задач не нашел. ((
плиз, помогите. мне котнтрольную задали из 50 задач. все решил кроме этих 3. уже голову сломал.
по 1ой у меня вот что только получается:
Код

program Zadacha;
uses CRT;
var
s: real;
k,n,x,i : integer;
begin
clrscr;
write('Vvedite chislo ');
readln(n);
x:=n;k:=1;
while (x div 10) > 0 do
begin
x:=x div 10;
k:=k+1;
end;
s:=0;
for i:=1 to k do
s:=(s +(exp(i*ln(10))*(n div (10*i))));
s:=(s + 1 + 10*(k+2));
write(s:5:2);
readkey;
end.

в чем ошибка?
ЗЫ от головной боли пришла альтернативная идея - схалтурить:
Код
program Haltura;
uses CRT;
var k,n,x : longint;
begin
clrscr;
write('Vvedite chislo ');
readln(n);
write('1',n,'1');
readkey;
end.

но думаю препод не оценит.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 21.12.2005 20:52
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


1)

uses crt;
var
n,temp,count : LongInt;
begin
readln(n);
temp := n;
count := 0;
while(n>0) do begin
n := n div 10;
inc(count);
end;
temp := temp + round(exp(count*ln(10)));
temp := temp * 10 + 1;
writeln(temp);
readln
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.12.2005 21:26
Сообщение #5


Гость






Можно проще:
var
n, T: longint;

begin
ReadLn(n);
T := 1;
repeat
T := 10 * T;
until T > n;
T := (T + n) * 10 + 1;

writeln(T);
end.
 К началу страницы 
+ Ответить 
Tupoi_Proger
сообщение 21.12.2005 21:29
Сообщение #6





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Цитата(klem4 @ 21.12.2005 20:52) *


inc(count);




спасибо огромное! smile.gif
только у меня один вопрос: а что делает эта строчка? что такое inc?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 21.12.2005 21:39
Сообщение #7


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


volvo good.gif

inc(i) то же самое что i := i + 1;
inc(i,6) то же самое что i := i + 6;

dec(i) - обратная ф-я к inc (уменьшает значение)

Сообщение отредактировано: klem4 - 21.12.2005 21:40


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Tupoi_Proger
сообщение 21.12.2005 22:16
Сообщение #8





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


спасибо за интересную функцию!
сам решил задачу со степенью)) вот код. может кому встретится подобная задача. думаю проще не решить. только если volvo опять не разорвет вклочья мой мозг. smile.gif
 
program Stepen;
uses CRT;
var n : integer;
begin
clrscr;
read(n);
while n div 3 <> 1 do
begin
if n mod 3 <> 0 then
begin
write('Net');
break;
end
else n:= n div 3;
end;
if n = 3 then write('Da');
readkey;
end.


ЗЫ дайте пожалуйста кто-нибудь подсказку по третьей. решу сам. мне нужна только отправная точка.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.12.2005 22:22
Сообщение #9


Гость






Ты сам сказал, что проще нельзя...
А вот так:
var
n, count: integer;

begin
readln(n); count := 0;
while n >= 3 do begin
count := count + (n mod 3);
n := n div 3;
end;

if (n = 1) and (count = 0) then writeln('yes')
else writeln('no');
end.

?
 К началу страницы 
+ Ответить 
Tupoi_Proger
сообщение 21.12.2005 22:38
Сообщение #10





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


volvo!
во-первых, твоя прога не работает. она и 4ку и 5ку и 10ку считает за степень тройки, а вторых, а у меня без счетчика! blum.gif )))))))
да фиг с ней. я ее решил. лучше дай пожалуйста подсказку по 3ей. не знаю с чего начать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.12.2005 22:44
Сообщение #11


Гость






Правда? Что ты говоришь... Во первых, учти, что я ВСЕ программы тестирую... И если я ее выложил, то будь уверен, она прошла как минимум 3 полных теста... А во вторых - теперь решай 3-ю задачу сам...

P.S. Вот лог работы программы:
Цитата
Running "f:\vlady documents\programs\pas\__als.exe /sum 20.5 63.2"
4
no
Running "f:\vlady documents\programs\pas\__als.exe /sum 20.5 63.2"
8
no
Running "f:\vlady documents\programs\pas\__als.exe /sum 20.5 63.2"
27
yes
 К началу страницы 
+ Ответить 
Tupoi_Proger
сообщение 21.12.2005 23:04
Сообщение #12





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


сорри. не правильно набрал твой код. unsure.gif
а с третей... поламаю еще голову. mega_chok.gif
еще 2 дня до крайнего срока. в принципе время есть...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"