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

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

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

 
 Ответить  Открыть новую тему 
> хитрые задания без хранения последовательности значений
Vania
сообщение 13.11.2006 20:55
Сообщение #1


Новичок
*

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

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


Буду очень очень рад и благодарен тем, кто подкинет хоть какие-нибудь идеи:

Выполнить задания без хранения последовательности значений.
1. Дана непустая последовательность X ненулевых целых чисел, за которой следует 0. Вычислить величину:
s=(n-1)*x1+n*x2+...+2*xn+1 .
2. Задано натуральное число k. Определить k-ю цифру последовательности: 1525125625..., в которой выписаны подряд степени 5.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 13.11.2006 21:01
Сообщение #2


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

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

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


Цитата
s=(n-1)*x1+n*x2+...+2*xn+1 .


Тут ты явно напутал ...

Уточни.

Может так ?

Цитата
s = n * x1 + (n - 1) * x2 + ... + 2 * x(n-1) + xn + 1



По поводу второй, k хоть как-нибудь ограничено ? blink.gif


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


Гость






Вторая задача решается на основе "инварианта"... Блин, помню, что-то было про степени пятерки - найти никак не могу... Поищи по слову "инвариант"... Где-то точно была если не эта же, то очень похожая задача...

Вот тоже нечто похожее: Напечатать К-ую цифру последовательности ...
 К началу страницы 
+ Ответить 
Vania
сообщение 14.11.2006 20:40
Сообщение #4


Новичок
*

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

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


ой, действительно немножко не так , вместо - в 1 слагаемом + :
s=(n+1)*x1+n*x2+...+2*xn+1

насчет k в задании ничего не сказано...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 14.11.2006 21:21
Сообщение #5


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

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

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


Задача: Нам надо ввести последовательность из N значений, и не сохраняя их вычислить
Цитата
s=(n+1)*x1+n*x2+...+2*xn+1


Как вводить последоватьелность указаний нет. -> Вводим последовательность с конца и получаем решение в три строчки:

uses crt;

var

x, n, s: Integer;

begin
clrscr;

n := 1;
s := 1;

repeat
readln(x);
if x <> 0 then begin
inc(n);
s := s + x * n;
end;
until x = 0;

writeln('s = ', s);

readln;
end.


То есть если мы хоти ввести последовательность 1, 2, 3, 4, 5, 0, вводим 5, 4, 3, 2, 1, 0

Скорее всего не подойдет, но как вариант smile.gif

Если последовательность в файле то все не сложнее:

uses crt;

type
TFile = File of Integer;


procedure CreateFile;
var
f: TFile;
i: Integer;
begin
Assign(f, 'C:\f.int');
Rewrite(f);
// заполняем файл ...
for i := 1 to 5 do
write(f, i);
write(f, 0);
Close(f);
end;

function GetResult: Integer;
var
f: TFile;
X, i, s, n: Integer;
begin

Assign(f, 'C:\f.int');

Reset(f);

s := 1;
n := 1;

repeat
for i := 0 to n - 1 do begin
Seek(f, i);
Read(f, X);
s := s + x;
end;
inc(n);
until x = 0;

Close(f);

GetResult := s;
end;

begin
Clrscr;

CreateFile;
writeln(GetResult);

readln;
end.


Во втором варианте опследовательность в файле должна хранится в "правильном" виде.

А вот как решить эту задачу, если последователность надо вводить с клавиатуры в "правильном варианте" пока ума не приложу =(( Если у кого есть мысли будет очень интересно посмотреть.


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


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
То есть если мы хоти ввести последовательность 1, 2, 3, 4, 5, 0, вводим 5, 4, 3, 2, 1, 0

"Дорогой пользователь! Запишите свои циферки на листочке и читайте в обратном порядке".
blink.gif
program summ;
var Sum,sum1,x:integer;
begin
writeln('x?');
readln(x);
sum:=1;
sum1:=0;
repeat
sum:=sum+sum1+2*x;
sum1:=sum1+x;
writeln('x?');
readln(x);
until (x=0);

writeln;
writeln(sum);
end.


Сообщение отредактировано: мисс_граффити - 14.11.2006 22:06


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 14.11.2006 22:04
Сообщение #7


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

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

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


Да уж ... тупею ... mega_chok.gif
Все гениальное просто как говорится

Только сумма изначально = 1 smile.gif А ты 0 поставила


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


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата(klem4 @ 14.11.2006 22:04) *

Только сумма изначально = 1 smile.gif А ты 0 поставила

Невнимательно прочитала sad.gif
Как всегда.
Исправила.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Vania
сообщение 15.11.2006 19:41
Сообщение #9


Новичок
*

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

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


Благодарю за интересные предложения
Попробую сдать)

принимаются дальнейшие варианты.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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