Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Найти закономерность] Таблица 4х4, числа в ней. 
V
    Опции темы
KasMP
Дата 29.9.2008, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 586
Регистрация: 8.8.2006

Репутация: 1
Всего: 30



Приветствую smile !

Жирным выделено что-то типа координат. Надо по паре координат выдать соответствующее число.
Вы видите здесь хоть какую-нибудь закономерность? Кроме симметрии, разумеется smile .

user posted image
PM MAIL   Вверх
vinter
Дата 29.9.2008, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 1
Всего: 56



если представиь каждую клетку как произведение соответвующих координат + число m, То можно посторить матрицу m

0   -2  -4  -8
1    0  -1  -4
1    0   0  -2
1    1   1   0

т.е по краям мы имеем числа от 0 и дальше по возрастанию 2 в степени >=1, со знаком минус. Главаня диагональ все нули. непонятно как сюда приплести -1, а сотальное вроде похоже на закономерность. 


--------------------
Мой блог
PM MAIL WWW   Вверх
bars80080
Дата 29.9.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 8
Всего: 315



если из каждого числа вычесть его самого, то мы получим абсолютную матрицу, где каждый элемент равен произведению координат
PM MAIL WWW   Вверх
KasMP
Дата 29.9.2008, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 586
Регистрация: 8.8.2006

Репутация: 1
Всего: 30



Вообще говоря, надо найти закономерность не внутри самой матрицы, а во взаимосвязи пары координат и числа.
Т.е. получается как бы функция от двух переменных: например, f(1,2)=3, f(1,4)=4, f(3,3)=8, т.п. и т.д.. Мы знаем значения функции при любых переменных (а они изменяются только от 1 до 4). Нам нужно найти саму функцию!

Изначально задачка звучит так:
Цитата
Есть шахматная доска. На ней стоит конь. Известно поле, на котором он стоит (я назвала это координатами).
Скольким полям угрожает конь?


Добавлено через 3 минуты и 8 секунд
Цитата(bars80080 @  29.9.2008,  21:59 Найти цитируемый пост)
если из каждого числа вычесть его самого, то мы получим абсолютную матрицу, где каждый элемент равен произведению координат 
По-моему, если из каждого числа вычесть его самого (довольно интересная операция, которая с элементарными преобразованиями увязывается тяжело), то мы получим нулевую матрицу... Что такое абсолютная матрица?
Позволю себе повториться: главное - взаимосвязь между парой координат и соответствующим числом.

Добавлено через 7 минут и 16 секунд
На худой конец, перебор smile никто не отменял.

Добавлено через 9 минут и 42 секунды
Хотя, с другой стороны, закономерности внутри матрицы помогут установить взаимосвязь между координатами и числом.
PM MAIL   Вверх
KasMP
Дата 29.9.2008, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 586
Регистрация: 8.8.2006

Репутация: 1
Всего: 30



Цитата(vinter @  29.9.2008,  21:48 Найти цитируемый пост)
если представиь каждую клетку как произведение соответвующих координат + число m, То можно посторить матрицу m

0   -2  -4  -8
1    0  -1  -4
1    0   0  -2
1    1   1   0

т.е по краям мы имеем числа от 0 и дальше по возрастанию 2 в степени >=1, со знаком минус. Главаня диагональ все нули. непонятно как сюда приплести -1, а сотальное вроде похоже на закономерность.
Я подумаю об этом завтра. По сути мы получаем из пары координат число, но только через эту доп.матрицу... А в доп.матрице закономерности есть... Надо подумать, короче говоря smile .
PM MAIL   Вверх
bars80080
Дата 29.9.2008, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 8
Всего: 315



та чё здесь думать? ты ж не привела задачу полностью (хотя и по этому куску можно было догадаться).
построй в голове шахматную доску, где клетки - это столбики кубиков. по два в углах и по восемь в середине. какую фигуру это напоминает?
правильно - пространственная парабола. закон по каждой стороне выглядит примерно так: y = -0.25x^2 + 2*x
соответственно, осталось переложить в трёхмерную систему
скажем так:
Код
<?php
function wfunc($x, $y) {
    $z = -0.25*$x*$x + 2*$x - 0.25*$y*$y + 2*$y;
    return $z; 
}
$x = array(0,1,2,3,4,5,6,7);
$y = array(0,1,2,3,4,5,6,7);
echo '<table border="1">';
for($i = 0; $i < 8; $i++) {
    echo '<tr>';
    for($j = 0; $j < 8; $j++) {
        echo '<td>'.wfunc($x[$i], $y[$j]).'</td>';
    }
    echo '</tr>';
}
echo '</table>';
?>
если запустить, то увидишь нечто похожее. но коэффициенты не точные, и нехватает свободного члена. плюс потом нужно округлить. а так это примерно то что надо
PM MAIL WWW   Вверх
Dov
Дата 30.9.2008, 11:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



Цитата
...
Ход за мной - что делать!? Надо, Сева, -
Наугад, как ночью по тайге...
Помню - всех главнее королева:
Ходит взад-вперед и вправо-влево, -
Ну а кони вроде - только буквой "Г".
              Владимир   Высоцкий 


Имхо, здесь никакой закономерности нет. Таблица просто показывает количество допустимых ходов  коня из каждой клетки шахматной доски, подразумевая, что эта доска имеет размеры 8 х 8 и, учитывая тот факт, что конь не может сделать ход за "пределы доски". Отсюда следует, что, начиная с клетки(3; 3), конь может сделать 8 ходов, т.е. попасть на 8 разных клеток. А чем ближе к "краю доски", тем меньше допустимых ходов имеет конь. Например, находясь в клетке(1; 1) конь имеет всего 2 допустимых хода. Всё это можно вычислить, прибавляя смещение к "координатам" коня и отбрасывая отрицательный результат, говорящий о том, что конь вышел за "пределы доски". 
Ну, а так, в данной конкретной задаче, можно "вычислить результат", используя навыки программирования. Например, на языке СИ это может выглядеть так:
Код
result = (x >= 3 && y >= 3 ? 8 : x + y == 5 ? x * y : x + y); 

Перевожу...
Если обе координаты больше или равны 3, то результат равен 8, 
иначе
     если сумма координат равна 5, то результат равен произведению этих координат, а иначе их сумме.

Вроде так, хотя могу и ошибаться...  smile 

 



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
KasMP
Дата 30.9.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 586
Регистрация: 8.8.2006

Репутация: 1
Всего: 30



Dov smile , хоть сегодня днем во время перерыва я и решила делать точно так же smile , тебе спасибо за само желание помочь smile, за то, что не поленился все так подробно описать  smile , за приятный тон smile , за примеры smile .
Благодарю smile.
PM MAIL   Вверх
Dov
Дата 30.9.2008, 16:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 50
Всего: 88



А сама программа по поиску значений(если кому - то интересно) могла бы выглядеть так:
Код
bool isValid(int x, int y)
{
    return ( x >= 1 && x <= 8 && y >= 1 && y <= 8 );
}

int main()
{
    int    x, y, n, result;    
    int offset[8][2] = { {1, 2}, {1, -2}, {2, 1}, {2, -1}, {-1, 2}, {-1, -2}, {-2, 1}, {-2, -1} };

    cout << "Enter test count: ";
    cin  >> n;

    while( n-- )
    {
        cout << "Enter x: ";
        cin  >> x;
        cout << "Enter y: ";
        cin  >> y;        

        result = 0;
        for( int i = 0; i < 8; i++ )
            if( isValid(x + offset[i][0], y + offset[i][1]) )
                result++;

        cout << "Result : " << result << endl << endl;
    }
}


Добавлено через 1 минуту и 31 секунду
Нужно только защиту от дурака прикрутить...  smile 


KasMP, не за что...  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
KasMP
Дата 30.9.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 586
Регистрация: 8.8.2006

Репутация: 1
Всего: 30



А у меня вот так smile smile !
Код

#include <iostream>
using namespace std;

int main() {
    short x, y;
    short r;
    
    cout << "Input x, y.\n";
    cin >> x >> y;
    
    if (x>4) x=9-x; if (y>4) y=9-y;
    r=(x>=3 && y>=3 ? 8
            : x+y==5 ? x*y
            : x + y);
            
    cout << "The knight attacks " << r << " fields.\n";  
    
    return 0;
}

Только про дурака я не подумала... Если что, потом доделаю :smile .


PM MAIL   Вверх
okaton
Дата 11.10.2008, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 24.11.2006

Репутация: нет
Всего: нет



Цитата

Имхо, здесь никакой закономерности нет. Таблица просто показывает количество допустимых ходов  коня из каждой клетки шахматной доски, подразумевая, что эта доска имеет размеры 8 х 8 и, учитывая тот факт, что конь не может сделать ход за "пределы доски". Отсюда следует, что, начиная с клетки(3; 3), конь может сделать 8 ходов, т.е. попасть на 8 разных клеток. А чем ближе к "краю доски", тем меньше допустимых ходов имеет конь. Например, находясь в клетке(1; 1) конь имеет всего 2 допустимых хода. Всё это можно вычислить, прибавляя смещение к "координатам" коня и отбрасывая отрицательный результат, говорящий о том, что конь вышел за "пределы доски". 
Ну, а так, в данной конкретной задаче, можно "вычислить результат", используя навыки программирования

 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.1002 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.