Список вопросов
Страна замов. Напишите программу на Python
10th December, 18:14
426
0
На листе клетчатой бумаги рисуют выпуклый 100-угольник с вершинами в узлах сетки. Какое наибольшее число диагоналей этого 100-угольника может идти по линиям сетки?
7th November, 15:29
292
0
Рассмотрим все прямоугольники, длины сторон которых выражены целым числом метров, и периметр которых (в метрах) численно равняется площади (в метрах квадратных). Найдите суммарную площадь всех таких, разных по размеру сторон, прямоугольников.Прямоугольники, отличающиеся порядком сторон, например, 10 * 20 и 20 * 10 считаем одинаковыми.
7th October, 20:57
758
0
Кто и за сколько может написать программу управления курсором?
2nd October, 23:48
507
3
Как авторизоваться на novafilm.tv при помощи cURL?
2nd October, 23:33
390
3
Верстка, position:relative создает пустое место
2nd October, 23:31
330
2
Что улучшить в переводе Apache Public License?
2nd October, 23:29
334
1
Формирование кода видео Вконтакте
2nd October, 23:23
412
3
IPad2 с 3G из Штатов?
2nd October, 23:18
380
5
А будет ли tcpdump видеть ack flood?
2nd October, 23:14
299
2
Альфа банк и странное смс мошенничество?
2nd October, 23:05
677
6
Софт для "ремонта" поврежденного h264 видео?
2nd October, 22:55
309
3
Scrapy — Python
2nd October, 22:54
317
4
Помощь с доставкой из США?
2nd October, 22:47
350
3
Создание stop-motion ролика
2nd October, 22:41
381
5
Верстка ul/li в несколько колонок?
2nd October, 22:41
280
13
Существует ли поисковик, отсортированный по дате?
2nd October, 22:32
317
3
Вопрос к пользователям HTC HD7?
2nd October, 22:32
335
2
Как получить путь к аватару пользователя когда он авторизируется на сайте через openid google?
2nd October, 22:20
349
2
Что случилось с Кенгуру.ТВ?
2nd October, 22:19
389
3
Решение задачи Умножение многочленов с Меньшиков
Без пояснения   Просмотров: 77
Ввести в символьной форме два многочлена от x с целыми коэффициентами и вывести их произведение в порядке убывания степеней - также в символьной форме. Степень исходных многочленов не более 10, коэффициенты исходных многочленов по модулю не более 104.
Код
#include #include #include #include using namespace std; const int MAX_POW = 10 * 2 + 5; typedef long long i64; typedef vector polynom; void SkipSeps(char* &pos) { while (*pos == ' ') pos++; } bool isEnd(char* &pos) { SkipSeps(pos); return pos == 0; } bool isPlusOrMinus(const char* pos) { return *pos == '+' || *pos =='-'; } bool isDigit(char p) { return '0' <= p && p <='9'; } void ReadNumber(char * &pos, int &num) { if (isEnd(pos)) return; while (!isEnd(pos) && isDigit(*pos)) { num = num*10 + *pos - '0'; pos++; } } void ReadPower(char* &pos, int &pow) { // <Степень> ::= "^"<Число> if (isEnd(pos)) return; if (*pos!='^') { pow = 1; return; }else { pos++; pow = 0; ReadNumber(pos, pow); } } void ReadKoef(char* &pos, int &k) { // <Коэффициент> ::= ("+" | "-")<Число> if (isEnd(pos)) return; bool isNeg = false; if (isPlusOrMinus(pos)){ isNeg = *pos == '-'; pos++; } if (isDigit(*pos)) { k = 0; ReadNumber(pos, k); } else k = 1; k *= isNeg ? -1 : 1; } void ReadMonomial(char* &pos, int &k, int &pow) { if (isEnd(pos)) return; // <Одночлен> ::= {<Коэффициент>}x{<Степень>} ReadKoef(pos,k); if (*pos == 'x') { pos++; // x; ReadPower(pos,pow); } else pow = 0; } void ReadPolynom(char* &pos, polynom &p) { // <Многочлен> ::= <Одночлен> {("+"|"-") <Одночлен>} do { int k, pow; ReadMonomial(pos, k, pow); p[pow] += k; } while (!isEnd(pos) && isPlusOrMinus(pos)); } void input(polynom &a, polynom &b) { string str; cin>>str; char *buf = (char*)str.c_str(); ReadPolynom(buf,a); cin>>str; buf = (char*)str.c_str(); ReadPolynom(buf,b); } void mul(const polynom &a, const polynom &b, polynom &res) { for (int i=0; i < MAX_POW; i++) { for (int j=0; j =0;i--) { if (p[i]) { if (!isFirst && p[i] > 0) cout<<"+"; if (i == 0) { cout< 1) cout<<"^"<
 
 
 
 
 
Автор: Администратор
