program Pr;
var
n, n2, k: Integer;
begin
Write('Vveidite N : ');
ReadLn(n);
n2 := 2*n - 2;
k := n;
while k*k + k > n2 do Dec(k);
if k*k + k = n2 then
WriteLn('1')
else
WriteLn('0');
ReadLn;
end.
Всё понять не могу...
Вот есть у мя такая задачка для выполнения в Паскале или консольном варианте Делфи:
в общем есть бесконечная последовательность чисел 110100100010000... и т.д. до бесконечности. Прога должна выводить на эран N-ный член этой последовательности (вводится с клавиатуры).
Подскажите чего-то, плз...:confused:
Вот есть у мя такая задачка для выполнения в Паскале или консольном варианте Делфи:
в общем есть бесконечная последовательность чисел 110100100010000... и т.д. до бесконечности. Прога должна выводить на эран N-ный член этой последовательности (вводится с клавиатуры).
Подскажите чего-то, плз...:confused:[/QUOTE]
1. Пожалуйста, не надо демонстрировать всем своё умение менять шрифт в сообщении. Ладно?
2. k-я единичка стоит на месте 1+(0+1+2+...+(k-1)) = k(k-1)/2+1. Остальные нули. Значит, получив число N тебе надо узнать, существует ли такое натуральное k, что k(k-1)/2+1=N, то есть k*k-k-(2N-2)=0. Это квадратное уравнение. У него будет натуральный корень, если дискриминант - квадрат целого нечётного числа. Всё понял?
(форматирование убрал - с правилами глубоко не знаком: извиняюсь)
P.S. Всех студентов с профессиональным праздником(День студента 17 числа, если кто не в курсе:) )
Цитата: Мerlin
Код:
program Pr;
var
n, n2, k: Integer;
begin
Write('Vveidite N : ');
ReadLn(n);
n2 := 2*n - 2;
k := n;
while k*k + k > n2 do Dec(k);
if k*k + k = n2 then
WriteLn('1')
else
WriteLn('0');
ReadLn;
end.
var
n, n2, k: Integer;
begin
Write('Vveidite N : ');
ReadLn(n);
n2 := 2*n - 2;
k := n;
while k*k + k > n2 do Dec(k);
if k*k + k = n2 then
WriteLn('1')
else
WriteLn('0');
ReadLn;
end.
Ай-яй-яй! Нехорошо ....... (обманывать) студентов :mad: , товарищ [SIZE="4"]Преподаватель[/SIZE] и давать отработанные зараннее алгоритмы, которые заведомо создаются "битыми":mad:
Цитата: sherry
Ай-яй-яй! Нехорошо ....... (обманывать) студентов :mad: , товарищ [SIZE="4"]Преподаватель[/SIZE] и давать отработанные зараннее алгоритмы, которые заведомо создаются "битыми":mad:
Ну, если я правильно понял суть дискуссии, обманывать ты первым начал, не так ли? :)
Цитата: Cutty Sark
Ну, если я правильно понял суть дискуссии, обманывать ты первым начал, не так ли? :)
Я? Пардон, но кого и чем я пытался обмануть, спрашивая совет по задаче???:(
[COLOR=red]тема закрыта, разборки через приват.[/COLOR]