|
0 / 0 / 0
Регистрация: 15.09.2009
Сообщений: 63
|
|
магические квадраты07.11.2009, 04:07. Показов 4532. Ответов 6
Метки нет (Все метки)
Здравствуйте.Вот выдали мне тестовую работу на дом.Всё что смог решил осталось 4 задачки.Кто знает напишите код плиз!Заранее спс!
1.Написать программу определения количества билетов с 6-значными номерами, у которых сумма первых 3 десятичных цифр равна сумме 3 последних десятичных цифр. 2.Магическим квадратом называется квадрат,в котором сумма чисел по всем горизонталям,вертикалям,и диагоналям совпадает.Найти все магические квадраты 3х3, составленные из девяти цифт (1..9). Пример: 2 7 6 9 5 1 4 3 8 3.Рассмотрим шахматное поле n x n, на котором размещены n ферзей.Расположение ферзей называется допустимым, если они не атакуют друг друга.Написать программу построения всех полных допустимых расположений N ферзей, где 4<=N>=20. 4.План прямоугольного сада размером m x n состоит из квадратных зон.В каждой зоне растёт по дереву.С каждого дерева любой зоны могут упасть несколько яблок.В левом верхнем квадратике находится ёжик,который должен дойти до правого нижнего квадратика.Существуют ограничения относительно способа передвижения: ёжик может двигаться из текущего квадрата только в один из двух соседних:правый либо нижний.Составьте программу, которая вычисляет максимальное количество яблок, которые может собрать ёжик, передвигаясь к нужному квадратику. Вроде всё=)
0
|
|
| 07.11.2009, 04:07 | |
|
Ответы с готовыми решениями:
6
Вывести на экран эти квадраты, выделить другим цветом квадраты с максимальной и минимальной площадью Магические числа GZipStream Квадраты в матрице |
|
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 401
|
|
| 07.11.2009, 04:25 | |
|
на C# не пишу) да и вобще ленюсь писать счас код
![]() подскажу с алгоритмами в общем виде, либо сами напишете, либо может кто-то ещё ![]() 1.т.к. ограничений по времени работы нет, создаём цикл (i от 0 или 1, как хочется, до 999999) в этом цикле с каждым i проводим такие операции: делим нацело(без остатка) на 100000 = получаем первое число 6-тизначного числа - х1 вычитаем из i х1*100000, и делим нацело на 10000 = получаем второе число - х2 аналогично вычитем из i числа х1*100000 и х2*10000, делим нацело на 1000 = получаем число х3 .... и так далее, получаем 6 цифр х1..х6 из которых состоит наше 6-тизначное число ![]() далее простейший иф, где складывает х1+х2+х3 и сравниваем с суммой х4+х5+х6 ![]() если равны, то добавляем единичку в переменную к, если не равны, то уходим на следующий виток цикла ![]() после того как цикл отработает в к будет содержаться ответ
1
|
|
|
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 401
|
||
| 07.11.2009, 04:53 | ||
|
теперь 4-ая задча
т.к. она мне кажется чуть легче ![]() итак, в начале у нас массив МхН (массив A), в каждой ячейке которого записано кол-во яблок, которое лежит в данном квадрате сада ![]() т.к. нам ненужен путь, а только кол-во яблок, то я бы сделал так: создаём второй массив такого же размера (МхН - массив B) (чтобы нам не путаться, сразу договоримся что массив начинается с элемента (0,0) до элемента (M-1,N-1) первую строку заполняем так: b(0,0) := a(0,0); // в первой клетке у ёжика яблок столько же сколько в первой клетке далее b(i,0) := b(i-1,0)+a(i,0); (где i от 1 до М) // ёжик двигался только вправо, в каждой клетке кол-во яблок которые он собрал по пути. первый столбец заполняем так: b(0,0) у нас уже заполнен, а дальше b(0,i) := b(0,i-1)+a(0,i); //ёжик двигался только вниз, в каждой клетке кол-во яблок который он мог собрать по пути. Для всех остальных клеток создаём двойной цикл: по i от 1 до М-1 по j от 1 до Н-1 считаем 2 числа: х1 := b(i-1,j) + a(i,j); x2 := b(i,j-1) + a(i,j); сравниваем их, и большее записываем в b(i,j) собственно когда этот цикл отработает, значение максимально возможного колличества яблок будет храниться в ячейке b(M-1,N-1); (это получается потому, что мы в каждую последующую ячейку записываем максимально возможное значение, как если бы ёжик пришёл в неё сверху или слева) З.Ы. можно сделать и в одном массиве но у меня привычка, всегда исходные данные хранить ![]() Добавлено через 13 минут ![]() цикл, в нём 6 операций деления по модулю, два сложения и 1 if
0
|
||
|
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
||||||
| 07.11.2009, 06:16 | ||||||
|
Первая
1
|
||||||
|
365 / 68 / 2
Регистрация: 25.09.2008
Сообщений: 401
|
||
| 07.11.2009, 06:35 | ||
|
по поводу третей задачки, с ферзями, мне счас ничего умного в голову не приходит) помниться что задача популярная и её решение несколько раз обсуждалось на форуме
да и в интернете найти поидее не сложно ![]() по поводу второй ![]() собственно вся задача состоит в том, чтобы перебрать все возможные комбинации расстановки чисел от 1 до 9 в квадрате 3 на 3 (если числа могут повторяться, то вобще халява и не интересно, поэтому будем считать что числа не повторяются )собственно я бы использовал вот какую реализацию (надеюсь что в С# есть аналог GoTo )создаём булевый массив из 9 элементов(А), и обнуляем его. и ещё 1 массив типа инт (В). каждая ячейка массива будет соответствовать цифре от 1 до 9. (т.е. a[1] соответствует 1, a[2] 2 и т.д.) далее создаём 9 вложенных циклов, которые будут крутиться от 1 до 9-ти. каждый цикл соответствует ячейке в массиве В. Т.е. из первого цикла будем писать в первуя ячейук В, из второго во вторую и т.п. в верхнем цикле, перед каждой итерацией обнуляем массив а. В каждом цикле делаем такую проверку: (например в цикле по i) если a[i]=0, то делаем его равным 1, записываем i в соответствующую данном циклу ячейку массива В, и переходим в следующий цикл. если равен 1, то увеличиваем i на 1, и при помощи GoTo(делаем ссылку... незнаю как в C# но в С++ GoTo будет работать) возвращаемся к этой проверке. Таким образом мы всякий раз заполняем массив В уникальными цифрами от 1 до 9, всеми возможнымив вариантами ![]() остаётся только проверить, какие варианты нам подходят, для этого в последнем, 9-м цикле, тупо в лоб проверяем, чтобы b1+b2+b3 == b4+b5+b6 == b7+b8+b9 == .... == b1+b5+b9 собственно если всё равно, то выводим массив В как нам подходящий, если не равно то просто уходим на следующую итерацию ![]() З.Ы. вобщем если никто с кодом не поможет, то постарайся сам реализовать по тому, что я написал(или ещё лучше придумай что-нить более оптимизированное, я тут все задачи почти в лоб решал, наверно есть пути короче ) в том что я написал всё просто, одни циклы да массивы ![]() и если где-то идея не понятна, спрашивай попробую максимально подробно объяснить ![]() Добавлено через 2 минуты т.к. билет с номером 001001 я думаю вполне подойдёт
1
|
||
|
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
|
||||||
| 08.11.2009, 11:47 | ||||||
|
Задание 4:
1
|
||||||
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 08.11.2009, 16:04 | |
|
На счет первой: я когда-то извращался и сделал 6 вложенных циклов и в них считал сумму.
И я считаю, что начинать считать надо с первого билета, то есть, с 000001.
0
|
|
| 08.11.2009, 16:04 | |
|
Помогаю со студенческими работами здесь
7
Вписать квадраты в прямоугольник Вписанные квадраты Белые квадраты магические квадраты Магические квадраты нечетного порядка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|