Си шарп с нуля

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Saniych
  • Звание: Гаммациклоп
  • Накопленный опыт: 68 часов
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2019-06-09 06:01:05
  • Возраст: 43 года

Видеокурсы

Этот формулист не закончил ни одного видеокурса

Консольные задачи

Дата активности Консольный раздел Прогресс
2018-11-22 club 6203 - Николай 3 из 6 50 %
2017-08-06 club 10670 - Сергей Соколов 3 из 10 30 %
2017-08-05 club 10558 - Иван Воронин 2 из 7 29 %
2017-07-30 club 10162 - Дмитрий Гринь 1 из 5 20 %
2017-07-15 club 8275 - Глушков Александр 8 из 29 28 %
2017-06-24 club 5649 - Максим Лапшинов 3 из 8 38 %
2017-06-23 club 4004 - Елена Вставская 13 из 27 49 %
2017-04-07 club 10494 - Алексей Васюк 1 из 6 17 %
2017-04-07 club 7119 - Владимир Новопашин 1 из 15 7 %
2017-03-07 club 24 - Муза Оля 2 из 3 67 %
2017-03-07 task1 Целые числа все 7 100 %
2014-11-24 task1 Строки все 14 100 %
2014-10-10 task1 Семантика все 6 100 %
Итого: 64 из 143 45 %
Сохранить страницу:

9480. --
Кирилл
Кирилл
ответить
→  Saniych  # Консоль / 4004 - Елена Вставская / Йагупоп / 2018-12-10 13:53

Согласен. Впервые со стаком столкнулся буквально только что, когда решал задачу про скобки. В итоге на задачу со скобками потратил 2 часа, а на эту минут 5-7


8380. --
zhikharevav
zhikharevav
ответить
→  Saniych  # Консоль / 6203 - Николай / Поиск слова перебором. / 2018-03-05 22:49

А как решить задачу в 4 строки не подскажите?


10558. --
Иван Воронин
Иван Воронин
ответить
→  Saniych  # Консоль / 6203 - Николай / Поиск слова перебором. / 2017-09-26 20:54

Надо учиться решать ПОСТАВЛЕННУЮ задачу.


8275. --
Tekashnik
Tekashnik
ответить
→  Saniych  # Консоль / 8275 - Глушков Александр / Зацикленная строка / 2017-09-26 13:48

А как ты решение подглядел?


10558. --
Иван Воронин
Иван Воронин
ответить

2450. --
Saniych
Saniych
ответить
# Консоль / 6203 - Николай / Поиск слова перебором. / 2017-07-31 19:02

Есть решение в 4 строки.
2 строки на задание переменных, 1 строка подсчет позиции и 1 строка вывода.
Без перебора.


2450. --
Saniych
Saniych
ответить
# Консоль / 6203 - Николай / Поиск слова перебором. / 2017-07-31 15:08

И за что же так не любят Ё???


2450. --
Saniych
Saniych
ответить
→  Андрей  # Консоль / 4004 - Елена Вставская / Простые множители / 2017-07-12 14:01

Это не Вам было, другому Андрею с ID 12465.


6275. --
Андрей
Андрей
ответить
→  Saniych  # Консоль / 4004 - Елена Вставская / Простые множители / 2017-07-11 21:24

Не нашел я в своей программе Write(). Один раз использую WriteLine().


2450. --
Saniych
Saniych
ответить
→  Андрей  # Консоль / 4004 - Елена Вставская / Простые множители / 2017-07-10 19:06

12465. Андрей:  В конце вывода Робот ожидает WriteLine(), а у Вас там только Write().


2450. --
Saniych
Saniych
ответить
→  Андрей  # Консоль / 4004 - Елена Вставская / Простые множители / 2017-07-10 18:52

Вероятно из-за того, что простые множители это не только 2,3,5,7. Есть ведь и другие числа.
Засуньте перебор множителей в цикл.


2450. --
Saniych
Saniych
ответить
→  Елена  # Консоль / 8275 - Глушков Александр / Ребус / 2017-06-24 15:49

Блин, так не честно...
Можно же было просто написать, что ключевыми являются данные цифры. И не расписывать почему и как.


2450. --
Saniych
Saniych
ответить
# Консоль / 7119 - Владимир Новопашин / Сумма цифр суммы чисел / 2017-04-08 19:04

Зашел на работу, проверить - за 24 часа пройдено 230 циклов по 9.000.000.000 значений... дурной перебор.


2450. --
Saniych
Saniych
ответить
→  Андрей Н.  # Консоль / 7119 - Владимир Новопашин / Сумма цифр суммы чисел / 2017-04-07 19:09

Вся оптимизация сводится к выводу формулы согласно свойств чисел.  Например: сумма чисел от 1 до 10 равна 55.
Перебором всех решений можно, но уже 10-значные пары вычисляются более 2х часов на кора2дуба Е7500, на одном ядре.
Мой вариант брутфорса, вывел его от скуки:
public class Program       
//заморочки с байтами для экономии памяти, решение проверялось в онлайн сервисах.
{ public static void Main()     
// а в них сброс задачи при завышении потреблении памяти или процессорного времени.
{ uint st = uint.Parse(Console.ReadLine()); uint ylast = st-1;
byte[] sumA = new byte[st], sumB = new byte[st], cont = new byte[st+st];
sumA[ylast] = 1;
while (sumA[ylast] < 9)
{ Array.Clear(sumB, 0,sumB.Length); sumB[ylast] = 1;
while (sumB[ylast] < 9)
{ byte chk = 1; if (sumB[0] > 9) { rebild_mas(sumB); }
for (byte j = 0; j <= ylast; j++) { if (sumA[j] + sumB[j] > 9) { chk = 0; break;} }
                                if (chk == 1) { cont[0]++; if (cont[0] > 200) rebild_mas(cont); } 
                                sumB[0]++;

sumA[0]++; if (sumA[0] > 9) { rebild_mas(sumA); }
}
                Console.WriteLine("{0} ", otvet(rebild_mas(cont)));
}
        static byte[] rebild_mas(byte[] summas)
        {  byte z = 0; while (z < summas.Length-1)
        {  if (summas[summas.Length-1] > 9) { Array.Resize(ref summas, summas.Length+1); }
summas[z + 1] += (byte)(summas[z] / 10);
            summas[z] = (byte)(summas[z] % 10);  z++;
        }  return summas; }
static string otvet(byte[] lon)
{ string rez =""; for (int x=lon.Length-1; x >= 0; x--)
{ if (lon[x] == 0 && x > lon.Length-2)continue; else rez += lon[x]; }
return rez; }
}


2450. --
Saniych
Saniych
ответить
# Консоль / 8275 - Глушков Александр / Зацикленная строка / 2017-03-28 14:50

Своих мозгов хватило на 70% решение... Пришлось подглядывать (2 недели думал).
Вычислять индекс символов для сравнения через остаток от деления - я бы не додумался.
Мюсли рядом крутились, но постоянно выходил за пределы массива.


2450. --
Saniych
Saniych
ответить
# Консоль / 4004 - Елена Вставская / Йагупоп / 2017-03-10 16:49

По сравнению со "скобками" и переводом из "двоичной системы" как-то слишком простая задача.


2450. --
Saniych
Saniych
ответить
# Консоль / 4004 - Елена Вставская / Двоичная система / 2017-03-09 17:47

Hint!
Протестируйте расчет такого числа в bin:
111000011111111111111110001111111111111111111111111000011001


2450. --
Saniych
Saniych
ответить
→  Сергей  # Консоль / 4004 - Елена Вставская / Системы счисления / 2017-03-09 15:05

Может буквы нужны большие?
ABCDEF


2450. --
Saniych
Saniych
ответить
→  Yefim  # Консоль / 4004 - Елена Вставская / Повторяющиеся цифры / 2017-03-07 19:37

удаляйте минус из считываемой строки.
if (st.Substring(0,1)=="-") st = st.Remove(0,1);


  • Звание: Гаммациклоп
  • Накопленный опыт: 68 часов
  • Собранный капитал: нет

Клуб формулистов

Правила клуба формулистов

У каждого формулиста есть задача минимум на каждый день:
+ зайти на сайт, проверить один отчёт, получить 1 байт.
Задача максимум - выполнить все остальные ежедневные задачи.
Нажмите здесь чтобы перейти к ежедневному чек-листу.

В 24:00 МСК накопленные за сутки байты переносятся в недельный актив.
В воскресение 24:00 МСК все накопленные байты переходят на баланс формулиста.

Собранные байты можно обменивать на доступные видеокурсы (1 байт = 1 рубль, без скидок)
Приобретённые за байты видеокурсы доступны только во время нахождения в автобусе/клубе формулистов!

При завершении подписки в автобусе/клубе формулистов все накопленные байты обнуляются, а доступ к видеокурсам, приобретённым за байты, закрывается.
Продлевайте подписку заблаговременно.

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.