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

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

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

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





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

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


Задача 1 Квадландия (50 баллов)
Имя входного файла: square.in
Имя выходного файла: square.out
Максимальное время работы на одном тесте: 1 секунда
Ограничение по памяти: 64 MB
Все дети Квадландии любят мороженое. И только если бы не взрослые, дети Квадландии целыми днями ели бы мороженое. Но, увы, эти взрослые каждый раз придумывают что-то новенькое, чтобы не дать детям вволю наесться холодным лакомством. На этот раз было решено, что порция мороженого будет продана только за такое число квадов (квад – национальная валюта Квадландии), которое является квадратом натурального числа.
У мальчика Вовы уже есть N квадов. Каждый день, если мальчик не ел мороженого, родители дают ему несколько квадов. В первый день своего послушания Вова получит 1 квад, во второй – 3 квада, … в K-й день – (2K-1) квада. Вова не хочет тратить часть своих денег на покупку мороженого. Если уж и покупать мороженое, то на все деньги! Помогите Вове определить, сколько дней ему нужно копить деньги.
Формат входных данных
В первой строке находится одно целое число N (1 ≤ N ≤ 109) – количество квадов, которые есть у Вовы.
Формат выходных данных
Выведите первой строкой целое число K – количество дней, по истечении которых мальчик сможет купить мороженое. Если ответов несколько, то выведите любой. В случае если Вова никогда не сможет насладиться вкусом мороженого, выведите «-1» (без кавычек).
Пример
square.in square.out
5 2
2 -1
8 0

Вроде бы я написал прогу,но в ней что-то ,по-моему,не так...Вот код-
program qwadland;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a,c,z,n:longint;
x:word;
begin
assign(input,'square.in');reset(input);
assign(output,'square.out');rewrite(output);
readln(a);
repeat
randomize;
x:=random(5);
until n>=a;
n:=x*x+2*x+1;
c:=n-a;
if c<0 then writeln('-1') else
if (c+1) mod 2<>0 then writeln('-1')else
if (c+1)mod 2=0 then
begin
z:=(c+1)div 2;
end;
writeln(z);writeln('pri x($)=',x);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Человек
*****

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

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


1) возьми код в теги.
2) причём тут случайные числа?


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Нет,если моё решеине вам кажется неправильным,напишите пожалуйста альтернативное...

Сообщение отредактировано: chad -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


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

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

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


лично мне кажется неправильным нарушение вот этого:
М
2. Все тексты программ должны помещаться в теги [cоde=pas] ... [/cоde].


настоятельно рекомендую исправить в ближайшее время... если хочешь получить помощь


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


Гость






Код
program fragland;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var k,a,n:longint;
begin
assign(input,'square.in');reset(input);
assign(output,'square.out');rewrite(output);
k:=1;
readln(n);
a:=n+(2*k-1);
repeat k:=k+1
until sqrt(a)= trunc(sqrt(a));
if sqrt(a) = trunc(sqrt(a)) then
writeln(k);
end.

Вот по-другому,но где здесь ошибка?Программа не работает..
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






program qwadland;

{$APPTYPE CONSOLE}

uses
SysUtils;

var a,c,z,n:longint;
x:word;
begin
assign(input,'square.in');reset(input);
assign(output,'square.out');rewrite(output);
readln(a);
repeat
randomize;
x:=random(5);
until n>=a;
n:=x*x+2*x+1;
c:=n-a;
if c<0 then writeln('-1') else
if (c+1) mod 2<>0 then writeln('-1')else
if (c+1)mod 2=0 then
begin
z:=(c+1)div 2;
end;
writeln(z);writeln('pri x($)=',x);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

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


Погугли общий вид пифагоровых троек (сумма 1 + 3 + .. + 2k-1 это полный квадрат).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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