Работа с массивом, цикл на исключение элементов |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Работа с массивом, цикл на исключение элементов |
NightPaladin |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 67 Пол: Мужской Репутация: 0 |
Ещё одна задача. В ней надо постоянно исключать каждый второй элемент т.к они расположены по кругу, то закончив один круг т.е. дойдя до еденицы, новый круг проходит уже для оставшихся элементов, и т.д. до тех пор пока не останется одно - вот его и надо вывести на экран
Собственно условие Числа от 1 до N расставляем по кругу и вычеркиваем каждое второе число, начиная с 1. Определить какое число останется последним. На входе натуральное число N (1<= N <= 1000 000), на выходе последнее число. Пример Результат 5 3 Сообщение отредактировано: NightPaladin - -------------------- На горе лежит дискета
У неё испорчен boot Через дырочку в конверте Её вирусы грызут |
Jahnerus |
Сообщение
#2
|
Уникальный Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 2 |
Код uses crt; const n=5; var a:array[1..n] of integer; b:array[1..n] of boolean; i,j,k:longint; begin clrscr; randomize; for i:=1 to n do begin a[i]:=random(100); b[i]:=true; end; k:=0;i:=0;j:=0; repeat i:=i+1; if i>n then i:=1; if b[i] then begin j:=j+1; if (j mod 2) =0 then begin b[i]:=false; k:=k+1; end; end; until k=n; writeln('Poryadkoviy nomer ',i); writeln('Znachenie ',a[i]); readln; end. Сообщение отредактировано: Jahnerus - -------------------- Век живи, век учи С © by Jahnerus
|
volvo |
Сообщение
#3
|
Гость |
Jahnerus
Цитата На входе натуральное число N (1<= N <= 1000 000) Это тебе ни о чем не говорит? Ты прогонял программу со значением 40000? |
Jahnerus |
Сообщение
#4
|
Уникальный Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 2 |
volvo
Цитата Ты прогонял программу со значением 40000 Да и на 1000000 прогонял работает нормано! Чё тебя не устраивает не пойму... -------------------- Век живи, век учи С © by Jahnerus
|
volvo |
Сообщение
#5
|
Гость |
Jahnerus
Код const n=1000000; var a:array[1..n] of integer; b:array[1..n] of boolean; Это работает? |
volvo |
Сообщение
#6
|
Гость |
А вот это - работает для любых значений, которые помещаются в LongInt:
Код const n:longint = 2000; var last, i, pred: longint; begin pred := $0001; while pred < n do pred := pred shl 1; if pred = n then last := 1 else begin pred := pred shr 1; last := 1 + 2*(n - pred); end; writeln('оставшееся число:', last); end. Сообщение отредактировано: volvo - |
NightPaladin |
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 67 Пол: Мужской Репутация: 0 |
Всем большой сэнкс volvo и Jahnerus
Если не трудно могли бы вы пояснить код, если будет время построчно. Заранее благодарю и с уважением NightPaladin P.S. вопрос наверное тупой, а как рейтинг повышать? -------------------- На горе лежит дискета
У неё испорчен boot Через дырочку в конверте Её вирусы грызут |
GoodWind |
Сообщение
#8
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Скажи одному из модераторов (мне, Volvo, или Oleg_Z)
я так понял ты хочешь поднять рейтинг Jahnerus`у ? Сделано... -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
Сообщение
#9
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Скажи одному из модераторов Вообще-то я не модератор Цитата группа: администраторы :D -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
GoodWind |
Сообщение
#10
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Цитата Вообще-то я не модератор зато ты до-сих пор числишься в модераторах раздела ;) посмотри -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Altair |
Сообщение
#11
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Больше 10000 программа Jahnerus не потянет. Массивы такие не задают уже....
так что повышение рейтингане оправданно, GoodWind. Ты поторопился, не проверив. Массивы не могут быть длинее чем 65536 элементов. ... Работает программа volvo ... только. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
NightPaladin |
Сообщение
#12
|
Пионер Группа: Пользователи Сообщений: 67 Пол: Мужской Репутация: 0 |
Опять здравствуйте. Вообщето я имел ввиду повысить рейтинг и Jahnerus и volvo. Раз Jahnerus рейтинг уже повысили и для этого надо выслать заяву, то прошу повысить его и volvo. Или это на PM отсылать надо?
-------------------- На горе лежит дискета
У неё испорчен boot Через дырочку в конверте Её вирусы грызут |
Altair |
Сообщение
#13
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
:D :D :D :D
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Jahnerus |
Сообщение
#14
|
Уникальный Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 2 |
Oleg_Z
Цитата Больше 10000 программа Jahnerus не потянет. Массивы такие не задают уже.... Оплошность моя в том что писал я её на Delphi и проверял там же .... а затем лишь чучуть код под ТП поменял ... и не проверил ... так что не судите строго бывает -------------------- Век живи, век учи С © by Jahnerus
|
Altair |
Сообщение
#15
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата так что не судите строго бывает Ок :D Но если это не пойжет на FPC, вообзе снижу на -5 шутка :D :D -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Jahnerus |
Сообщение
#16
|
Уникальный Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 2 |
Ценю юмор ....
Цитата Но если это не пойжет на FPC, вообзе снижу на -5 Ну FPC то покруче будет чем TPC так что всё рулит !!! А рейтинг помойму снижать дальше не куда ... ;) -------------------- Век живи, век учи С © by Jahnerus
|
Флогримм |
Сообщение
#17
|
Бывалый Группа: Пользователи Сообщений: 253 Пол: Мужской Репутация: 4 |
Цитата Но если это не пойжет на FPC, вообзе снижу на -5 снизить значит уменьшить, значит -, а Зю сказал, что снизит на -5 итого -(-5)=5=+5 Jahnerus радуйся, ща повысят :P -------------------- Я не буду жить с этой злобой внутри / Я не буду частью смертельной цепи / Я не буду потребителем твоих идей / Я не буду никогда убивать зверей (Unconform)
|
GoodWind |
Сообщение
#18
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
Цитата А рейтинг помойму снижать дальше не куда ... а вот и есть... был тут кто-то с рейтингом -1 -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Jahnerus |
Сообщение
#19
|
Уникальный Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: 2 |
GoodWind
Цитата был тут кто-то с рейтингом -1 Я тоже хочу рейтинг -1 . Ты же всемогущий модератор ... чё тебе стоит ;) . Вот вас таких много с положительными рейтингами, а я один буду !!! :D Уникальный Сообщение отредактировано: Jahnerus - -------------------- Век живи, век учи С © by Jahnerus
|
APAL |
Сообщение
#20
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Цитата(Jahnerus @ 29.11.04 17:46) GoodWind Я тоже хочу рейтинг -1 . Ты же всемогущий модератор ... чё тебе стоит ;) . Вот вас таких много с положительными рейтингами, а я один буду !!! :D Уникальный Мазохист..... я не садист, но помочь могу... хотя смысла в этом нет... :D [Оффтоп]Когда-то в БК я попросил паладина наложить на меня молчанку.... тоже без всякого смысла, но ради прикола... [/Оффтоп] -------------------- |
Текстовая версия | 11.01.2025 21:45 |