Задача об обмене двух целочисленных переменных значениями (без использования третьей) является одним из классических программистских ребусов.
Как сделать это в PHP, используя минимальное количество символов?
Критерий победы — минимальное количество символов. При прочих равных условиях ответ, опубликованный раньше, побеждает. Подведение итогов через 24 часа.
Пожалуйста, указывайте в ответе количество символов, чтобы проще было выявить победителя.
function getAnswers(questionId, answer_filter, page) {
return jQuery.ajax({
url: '//api.stackexchange.com/2.2/questions/' + questionId + '/answers?page=' + page + '&pagesize=100&order=desc&sort=activity&site=ru.stackoverflow&filter=' + answer_filter,
method: "get",
dataType: "jsonp",
crossDomain: true
}).then(function(data) {
if (data.has_more) {
return getAnswers(questionId, answer_filter, page + 1).then(function(d) {
return data.items.concat(d.items);
})
}
return data.items;
});
}
function getAuthorName(e) {
return e.owner.display_name
}
function process(items) {
return items.map(function(item) {
var matched = item.body.match(/(\d+)[^\d]*?<\/h/);
if (matched) {
return {
count: +matched[1],
link: item.share_link,
author: getAuthorName(item)
};
} else {
return {
count: 'N/A',
link: item.share_link,
author: getAuthorName(item)
}
}
});
}
function sort(items) {
return items.sort(function(a, b) {
if (a.count == 'N/A') return 1;
if (b.count == 'N/A') return -1;
return a.count - b.count;
})
}
function fillTemplate(sortedItems) {
$('#leadership').append(sortedItems.map(function(item, index) {
return $('
Таблица лидеров
Автор | Количество символов |
---|
Комментарий, о причине выбора победителя:
Лидирующий ответ @PashaPash (0 символов) фактически не меняет переменных, поэтому не участвует в конкурсе.
Ответ от @Naumov (10 символов), вместо обмена переменных просто присваивает им новые значения. Ну и его длина не является постоянной, а зависит от значений переменных. Рассматривать этот ответ в рамках конкурсной программы я не буду.
Ответ
PHP, 14 Символов
$a+=+$b-$b=$a;
Рабочий пример на IDEOne.
Пока я не вполне понимаю почему это работает. Поэтому оформил отдельным ответом, чтобы была возможность безболезненно удалить.
Комментариев нет:
Отправить комментарий