Список вопросов
Как мне добавить решение на задач ?
14th February, 15:14
778
0
Что dsu(i) значит в коде "катание на коньках"
8th February, 18:16
175
1
Страна замов. Напишите программу на Python
10th December, 18:14
570
2
На листе клетчатой бумаги рисуют выпуклый 100-угольник с вершинами в узлах сетки. Какое наибольшее число диагоналей этого 100-угольника может идти по линиям сетки?
7th November, 15:29
410
0
Рассмотрим все прямоугольники, длины сторон которых выражены целым числом метров, и периметр которых (в метрах) численно равняется площади (в метрах квадратных). Найдите суммарную площадь всех таких, разных по размеру сторон, прямоугольников.Прямоугольники, отличающиеся порядком сторон, например, 10 * 20 и 20 * 10 считаем одинаковыми.
7th October, 20:57
863
0
Кто и за сколько может написать программу управления курсором?
2nd October, 23:48
581
3
Как авторизоваться на novafilm.tv при помощи cURL?
2nd October, 23:33
465
3
Верстка, position:relative создает пустое место
2nd October, 23:31
401
2
Что улучшить в переводе Apache Public License?
2nd October, 23:29
403
1
Формирование кода видео Вконтакте
2nd October, 23:23
506
3
IPad2 с 3G из Штатов?
2nd October, 23:18
455
5
А будет ли tcpdump видеть ack flood?
2nd October, 23:14
373
2
Альфа банк и странное смс мошенничество?
2nd October, 23:05
756
6
Софт для "ремонта" поврежденного h264 видео?
2nd October, 22:55
379
3
Scrapy — Python
2nd October, 22:54
388
4
Помощь с доставкой из США?
2nd October, 22:47
426
3
Создание stop-motion ролика
2nd October, 22:41
462
5
Решение задачи 2^N с Acmp
Без пояснения   Просмотров: 350
Необходимо вычислить значение 2n.
Код
#include using namespace std; string func(string s){ string res = ""; int temp = 0; for(int i = s.size() - 1; i >= 0; --i){ int t = (int(s[i]) - 48) * 2 + temp; temp = 0; if(t >= 10) temp = 1; res.insert(0, 1, char(t % 10 + 48)); } if(temp) res.insert(0, 1, char(temp + 48)); return res; } int main() { int n; cin >> n; string s = "2"; for(int i = 1; i < n; ++i){ s = func(s); } cout << s; return 0; }
 
 
 
 
 
Автор: Администратор

Код
#include #include #define PB push_back #define ll long long using namespace std; typedef vector lll; istream& operator >>(istream& stream,lll& a){ string s; stream >> s; for(int i = s.size() - 1; i >= 0; --i) a.PB(s[i] - '0'); return stream; } ostream& operator <<(ostream& stream, lll a){ for(int i = a.size() - 1; i >= 0; --i) stream << a[i]; return stream; } bool operator >(lll a, lll b){ if(a.size() > b.size()) return true; if(a.size() < b.size()) return false; for(int i = a.size() - 1; i >= 0; --i){ if(a[i] > b[i]) return true; if(a[i] < b[i]) return false; } return false; } lll operator +(lll a, lll b){ lll c; int i, r = 0; for(i = 0; i < a.size() || i < b.size(); ++i){ if(i < a.size()) r += a[i]; if(i < b.size()) r += b[i]; c.PB(r % 10); r /= 10; } if(r) c.PB(r); return c; } lll operator -(lll a, lll b){ lll c; int i,r = 0; for(i = 0; i < a.size(); ++i){ r += a[i]; if(i < b.size())r -= b[i]; if(r<0){ c.PB(r + 10); r = -1; } else{ c.PB(r % 10); r = 0; } } while(c.size() > 1 && c.back() == 0) c.pop_back(); return c; } lll operator *(lll a,ll b){ lll c; int i; ll r = 0; if(b == 0){ c.PB(0); return c; } for(i = 0; i < a.size(); ++i){ r += a[i] * b; c.PB(r % 10); r /= 10; } while(r){ c.PB(r % 10); r /= 10; } return c; } ll operator % (lll a,ll b) { lll c; int i; ll r = 0,t; for (i = a.size() - 1; i >= 0; --i){ r = r * 10 + a[i]; t = r / b; r -= t * b; } while (c.size () > 1 && c[c.size() - 1] == 0) c.resize(c.size() - 1); return r; } int main() { lll a; ll b,n; a.PB(1); b = 2; cin >> n; for(int i = 0; i < n; i++) a = a * b; cout << a; return 0; }
 
 
 
 
 
Автор: Sadijon
