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

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

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

 
 Ответить  Открыть новую тему 
> Квадландия, Олимпиадная задача
chad
сообщение 29.04.2007 15:25
Сообщение #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 
 К началу страницы 
+ Ответить 
compiler
сообщение 29.04.2007 15:29
Сообщение #2


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

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

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


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


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





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

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


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

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


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

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

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


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


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


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

Вот по-другому,но где здесь ошибка?Программа не работает..
 К началу страницы 
+ Ответить 
Гость
сообщение 30.04.2007 9:46
Сообщение #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.
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 30.04.2007 11:44
Сообщение #7


Michael_Rybak
*****

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

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


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

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

 



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