Разбор интересных задач << 1 ... 7 8 9 10 11 ... 76 >> 19.01.2011 / 16:34 | | aleksey Пользователь Сейчас: Offline
Имя: Алексей Откуда: Saint-Petersburg Регистрация: 22.01.2010
| И ещё неплохая задачка с подковыркой: Сумма. Были загаданы два целых числа: a и b. Вам сообщили сумму всех чисел от а до b, но не сообщили сами числа. Требуется написать программу, которая по заданному числу s найдёт все такие пары чисел a и b, что сумма чисел от a до b равна s.
|
19.01.2011 / 20:28 | | aleksey Пользователь Сейчас: Offline
Имя: Алексей Откуда: Saint-Petersburg Регистрация: 22.01.2010
| В пятницу(21.01.11) выложу своё решение
|
19.01.2011 / 20:40 | | MG42 Пользователь Сейчас: Offline
Регистрация: 12.01.2011
| Задача на МВ 10 data 5,8,8,8,4,4,25 20 reаd a% напишите алгоритм програмы который выводит по порядку через print следуещие: 5-число 5 1-повторяется 1раз 8-число 8 3-повт-ся 3раз 4 2 25 1 награда: отдам все монеты |
19.01.2011 / 20:59 | | XakepPRO Пользователь
| Так, расступитесь, ибо сейчас будет небольшой набор очень нужных (для меня) программ. Начнём:
Напишите программу, которая решает следующую задачу. Программа может быть написана на языках программирования Pascal, Basic, C, C++, Java, C#, PHP, Python.
Напишите программу, которой на стандартный вход подается последовательность символов. Длина последовательности заранее не известна. Признаком конца последовательности считается точка. Программа должна вывести десятичную запись числа, минимального среди всех чисел, чьи записи можно составить из всех цифр, встретившихся во входной последовательности. Если цифр в последовательности нет, программа выводит число -1. При наличии цифр каждая из них должна быть использована ровно столько раз, сколько раз она встретилась в тексте. Исключением являются случаи, когда все цифры в последовательности являются нулями. В таких случаях программа выводит 0, т. е. ответ записывается одной цифрой. В остальных случаях выдаваемая запись числа не может начинаться с нуля. То есть, в записи результата не должно быть незначащих нулей. Известно, что количество вхождений любой цифры во входную последовательность не превышает 32000. В программе должен быть реализован эффективный алгоритм, не предполагающий хранение всей входной последовательности и всего результата в памяти. Суммарный размер используемых в программе переменных не должен быть пропорционален длине входной последовательности или длине результата. Дополнительные файлы не использовать. Пример работы программы: Ввод: A9B8C7D6E5F4G3H2. Вывод: 23456789
За неё дам 400 монет. Срок: до 23 января.
Изменено XakepPRO (19.01 / 21:00) (всего 1 раз) |
19.01.2011 / 21:01 | | XakepPRO Пользователь
| Другая задача:
Напишите программу, которая решает следующую задачу. Программа может быть написана на языках программирования Pascal, Basic, C, C++, Java, C#, PHP, Python.
Светофор на перекрестке работает в следующем режиме: T1 секунд горит красный свет, затем T2 секунд горит красный и желтый свет одновременно, затем T3 секунд горит зеленый свет, затем T4 секунд горит мигающий зеленый свет, затем T5 секунд горит желтый свет, после чего цикл работы светофора начинается заново. Определите, сколько секунд горела зеленая лампа светофора в момент, когда красный свет загорится в N раз. Входные данные задаются на стандартном потоке ввода (вводятся с клавиатуры) и представляют собой 6 неотрицательных целых чисел T1, T2, T3, T4, T5, N. Число T4 — четное. Ответ напечатайте на стандартный поток вывода (выведите на экран).
Пример входных данных 2 2 2 2 2 1
Правильный ответ для этих входных данных 3
Дам 300 монет. Срок: до 22 января.
|
19.01.2011 / 21:04 | | XakepPRO Пользователь
| Еще одна задача (более лёгкая), возможна непрограммная форма записи:
Рассмотрим десятичную запись числа π. Возьмем первые 1415 знаков после десятичной точки и рассмотрим все возможные пары цифр, идущих подряд. Например, 14, 41, 15, 59, 92 ... Какая из этих пар встречается чаще всего? Если таких пар несколько, найдите пару с максимальным значением (рассматривая ее как целое число в [0; 99]). Сколько раз встречается эта пара? Опишите, каким образом был получен ответ.
Дам 250 монет (можно и больше). Срок: до 22-23 января.
|
19.01.2011 / 22:48 | | Freddy Пользователь Сейчас: Offline
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| aleksey (19.01.2011/16:34) И ещё неплохая задачка с подковыркой:Сумма.Были загаданы два целых числа: a и b. Вам сообщили сумму всех чисел от а до b, но не сообщили сами числа.Требуется написать программу, которая по заданному чуравнение s = (a+b)*n/2, где n - кол-во членов арифметической прогрессии от a до b, его можно записать в виде: s=(a+a+n-1)*n/2 , т. к. по формуле n-члена b=a+(n-1)*d и d=1. Выражаем отсюда a, a=s/n-(n-1)/2. Т.к. s, a и b - целые числа, то s делится на n нацело и n - нечётное число (в противном случае (n-1)/2 не является целым числом). Остаётся найти значения n, удовлетворяющие этим условиям, посчитать для каждого n значения a и b. package javaapplication1;
import java.util.Stack;
public class Main {
private Stack<Integer> stack;
private int a, b;
private boolean negative; // true, if sum value is negative
public Main(int sum) {
if (sum == 0) {
System.out.print("a=infinity, b=-infinity\n");
return;
}
negative = sum < 0;
sum = Math.abs(sum);
stack = new Stack<Integer>();
findFactors(sum);
while (!stack.empty()) {
calculateVariables(sum, stack.pop());
printValues();
}
}
private void printValues() {
System.out.print(a + " " + b + "\n");
}
private void findFactors(int s) {
for (int m = 3; m <= s / 3; m += 2) {
if (s % m == 0) {
stack.push(m);
}
}
if (s % 2 != 0) {
stack.push(s);
}
}
private void calculateVariables(int s, int n) {
if (s == n) {
a = s / 2;
b = s / 2 + 1;
} else {
a = s / n - (n - 1) / 2;
b = a + n - 1;
}
if (negative) {
a = -a;
b = -b;
}
if ((double) a / b < 0) {
if (a < 0) {
a = -a + 1;
} else {
b = -b + 1;
}
}
}
public static void main(String[] args) {
Main main = new Main(Integer.parseInt(args[0]));
}
}
Изменено Freddy (19.01 / 22:50) (всего 1 раз)
Прикрепленные файлы: JavaApplication(…).jar (2.69 кб.) Скачано 256 раз |
19.01.2011 / 22:51 | | aleksey Пользователь Сейчас: Offline
Имя: Алексей Откуда: Saint-Petersburg Регистрация: 22.01.2010
| XakepPRO, появилась идея по 3 задаче, но написать смогу только в пятницу, не раньше. Кстати, а это задачи из интернет олимпиады? Вторая точно от туда.
|
19.01.2011 / 23:00 | | XakepPRO Пользователь
| Алексей, да, олимпиады. У мя под ночь моск уже не варил, я условие прочитать даже не смог - переутомление.
|
19.01.2011 / 23:04 | | aleksey Пользователь Сейчас: Offline
Имя: Алексей Откуда: Saint-Petersburg Регистрация: 22.01.2010
| XakepPRO, ага условие первой задачи конкретно мозг выносит
|
<< 1 ... 7 8 9 10 11 ... 76 >> Всего сообщений: 751 Фильтровать сообщения Поиск по теме Файлы топика (34)
|