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

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

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

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


Новичок
*

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

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


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

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


Гость






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

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


Новичок
*

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

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


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

насчет k в задании ничего не сказано...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


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

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

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


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

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

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


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


Новичок
*

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

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


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

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

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

 





- Текстовая версия 29.03.2024 14:51
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name