Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2016, 21:50   #21
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

"Math.ceil((k - 1) / 2 + 1 + 0.5)" - номер пары так получается на единицу больше всегда. Так нормально, вроде, "Math.ceil((k - 1) / 2 + 0.5)". В пункте "в" нужно не четность числа k проверить, а выдать k-ю цифру из ряда 1011121314 (для упрощения пункт "в" разбивается на два случая: когда известно, что k - четно, и k - нечетно).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 01.04.2016, 00:45   #22
zagonicb
Пользователь
 
Регистрация: 30.03.2016
Сообщений: 14
По умолчанию

Вот задачка, заставила голову ломать)))
То что мы с вами перечислили в "а" тоже не правильно))
Код:
Math.ceil((2 - 1) / 2 + 0.5) //1
Math.ceil((3 - 1) / 2 + 0.5) //2
Math.ceil((4 - 1) / 2 + 0.5) //2
Неужели мы с вами не найдем универсальной формулы для js?)))
|| запинается на «правде», && запинается на «лжи».
zagonicb вне форума Ответить с цитированием
Старый 01.04.2016, 00:49   #23
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Почему же неправильно? Если номер цифры 1 или 2, то это первая пара, если 3 или 4 - вторая, 5 или 6 - третья и так далее.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 01.04.2016 в 01:09.
BDA вне форума Ответить с цитированием
Старый 01.04.2016, 01:20   #24
zagonicb
Пользователь
 
Регистрация: 30.03.2016
Сообщений: 14
По умолчанию

Цитата:
а) номер пары цифр, в которую входит k-я цифра;
Значит не так понял, думал что только один номер цифры будет входить в пару...
|| запинается на «правде», && запинается на «лжи».
zagonicb вне форума Ответить с цитированием
Старый 02.04.2016, 16:46   #25
zagonicb
Пользователь
 
Регистрация: 30.03.2016
Сообщений: 14
По умолчанию

Извините, не смог править предыдущее сообщение.
Цитата:
Сообщение от BDA Посмотреть сообщение
в) c = ((k / 2 - 1) % 10) * (k % 2 == 0) + (k / 20 + 1) * (k % 2 == 1)
Во-первых, таким способом записываются два возможных случая сразу (при четном и нечетном k). Это же можно записать так:
Код:
if (k % 2 == 0) // k - четное
    c = (k / 2 - 1) % 10;
else
    c = k / 20 + 1;
Чтобы найти закономерность, нужно выписать ряд и внимательно на него посмотреть. Можно заметить, что на четных позициях в ряду находится младший разряд пары, а на нечетных - старший. k меняется на 2, а "номер" рассматриваемого ряда на 1 (ряды младших и старших разрядов чередуются).
Код:
1 2 3 4 5 6 7 8 9 10 - k
1 0 1 1 1 2 1 3 1 4  - сам ряд
1   2   3   4   5    - нумерация старших разрядов
  1   2   3   4   5  - нумерация младших разрядов
Поэтому сразу берем k / 2. Но пока это не похоже на нужную цифру. Можно заметить, что старшие разряды только возрастают каждые 10 номеров, то есть k / 2 / 10. Ну и чтобы была все-таки верная цифра, прибавляем единицу: k / 20 + 1.
Младшие разряды каждые 10 номеров начинаются сначала: (k / 2) % 10. Но так получится цифра на единицу больше (или ноль, если верный ответ 9). Итог: (k / 2 - 1) % 10.
Посоветовать особо нечего. Пожалуй, больше практики, но и теорию не запускать
Так же я все равно не понял, что нужно определить в пункте "в)" и чего хочет автор.(( Может посоветуете, что-нибудь из курса алгебры почитать или поможете разобрать?
|| запинается на «правде», && запинается на «лжи».
zagonicb вне форума Ответить с цитированием
Старый 02.04.2016, 17:27   #26
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Автор хочет, чтобы человек лучше освоил целочисленную арифметику (раз разместил данную задачу именно в таком разделе книги). Что почитать - нечего посоветовать (школьные учебники не помню, а вузовский начался сразу с матриц).
Попробую более понятно объяснить само задание: во-первых, автор сразу просит не использовать строки для решения. Иначе бы можно было решить задачку просто формированием строки s = "101112131415..99", а затем выдать в качестве ответа s[k]. Нам дано некое число k из диапазона [1; 180] и ряд из 180 цифр, который выглядит "101112131415161718192021..9798 99". В пункте "в" нужно выдать, какая цифра находится на k-ом месте в этом ряду. Чтобы опять же подсказать и упростить задание, дается дополнительная информация о числе k. В первом случае это четное число, во втором - нечетное. Чтобы найти зависимость ответа от входного числа k, можно выписать отдельно ряд цифр, стоящих на четных местах в исходном ряду, и отдельно ряд - на нечетных. Потом посмотреть на эти ряды и найти некую закономерность, которую и выразить с помощью целочисленной арифметики.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 04.04.2016, 07:51   #27
zagonicb
Пользователь
 
Регистрация: 30.03.2016
Сообщений: 14
По умолчанию

Спасибо, вы очень доступно объяснили и научили, низкий поклон. Для меня задачка оказалась и вправду сложной, и они вроде на олимпиадах такие задаются, так что попрактикуюсь на них.
Мой код:
PHP код:
var prompt("Введите цифру от 2 до 179""2");
var 
abc1c2;
    
Math.ceil((1) / 0.5);
console.log("Номер пары цифра = " a);
    
9;
console.log(" входит в " b);
    if (
== 0){ //если четное
        
c1 = (1) % 10 0;
        
console.log(" = " c1);
    }
    else{ 
//если нечетное
        
c2 Math.floor(20 1); //округляем вниз
        
console.log(" = " c2);
    } 
|| запинается на «правде», && запинается на «лжи».

Последний раз редактировалось zagonicb; 04.04.2016 в 08:00.
zagonicb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
целочисленная арифметика 6.5 Darkin Общие вопросы C/C++ 2 18.02.2013 14:32
Си++ Целочисленная арифметика Krieger Помощь студентам 0 15.10.2011 22:40
целочисленная арифметика Алиса_а Помощь студентам 4 06.07.2011 14:14
Целочисленная арифметика Natochka Помощь студентам 5 12.04.2011 19:48
Целочисленная арифметика Doublefaced Помощь студентам 11 22.03.2009 19:33