|
qqq
|
|
помогите решить05.06.2008, 23:12. Показов 1969. Ответов 12
Метки нет (Все метки)
нужно вычислить 100! + 2^100 (2 в степени 100) и в результате сохранить все цифры.
прошу! лучше всего код, но можно просто подскозать как |
|
| 05.06.2008, 23:12 | |
|
Ответы с готовыми решениями:
12
Помогите решить задачку на С++ помогите решить задачу Люди помогите решить задачи! |
|
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
|
|
| 06.06.2008, 01:47 | |
|
100! никто не вычислит - слишком большое число. Вот для 10!. Что значит "сохранить все цифры"?
#include <conio.h> //подключение требуемых модулей #include <stdio.h> #include <stdlib.h> void main(void) { const n=10; int i; double f,s; clrscr(); //очисить экран f=1; s=0.5; for (i=1;i<=n;i++) { f=f*i; //i! s=s*2; //2^i printf("i!=%e 2^i=%e\n",f,s); //вывести это число на экран } getch(); //задержать экран }
0
|
|
|
0 / 0 / 0
Регистрация: 06.06.2008
Сообщений: 5
|
||
| 06.06.2008, 14:54 | ||
|
Есть шТУКА называется длинная арифметика ...... вот ей т.е. к примеру сложение 2х чисел a=123 b=321 ___ c=444 int a[]= ...... For (int i=0;i<3;i++) { c[i]=a[i]+b[i]; } ...... Таким же образом и напиши факториал!) думаю догадаешься как)) вообще это все олимпиадные задачки.... так что есть что подучить) моя ася 437 078 951
0
|
||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 06.06.2008, 15:09 | |
|
n1k0LaY , любопытный код для суммирования, но только что делать с переполнениями в разрядах?
0
|
|
|
2 / 2 / 3
Регистрация: 13.01.2008
Сообщений: 38
|
|
| 06.06.2008, 15:33 | |
|
переносить дальше в следующие разряды
0
|
|
|
0 / 0 / 0
Регистрация: 06.06.2008
Сообщений: 5
|
|
| 06.06.2008, 15:35 | |
|
Не ну не продолжаюсь удивляться вам ребятки))
пример 9999 + 993456 записываем в a[100] первое число 9 9 9 9 0 0 0 0 0 0 0 ...0 в б(100) второе 6 5 4 3 9 9 0 0 0 0 0 ... 0 в с(100) нетрудными действиями получаем 5 5 4 3 0 0 1 0 0 0 0 0 прочитаем ....и ухты фокус если прочитать с конца в начало будет 1003455 Какие еще вопросы?) з.ы. Я помню в школе в классе в 9 была задачка на олимп. на факториал n! где 1<=n<=10000 странно и я ее решил)))) Длинная арифметика помогла!
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 06.06.2008, 15:38 | |
|
столько гемора только ради простого суммирования??? зачем, пока не осилил?
0
|
|
|
0 / 0 / 0
Регистрация: 06.06.2008
Сообщений: 5
|
||
| 06.06.2008, 15:41 | ||
|
Есть еще способ переводить в 2 систему счисления с допольнительным кодом, тогда увы будет супер геморой))) но там все будет аналогично.
0
|
||
|
2 / 2 / 3
Регистрация: 13.01.2008
Сообщений: 38
|
||||||
| 06.06.2008, 15:42 | ||||||
0
|
||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 06.06.2008, 15:44 | |
|
нет, согласен... изящества этому методу не занимать, просто дает ли такой метод прирост в скорости мат. вычислений, если приложение содержит сложные расчеты? ведь если существует аткой способ - значит он дает какие-то преимущества... просто я про такие методы и не слышал, есть где почитать теорию про это?
0
|
|
|
0 / 0 / 0
Регистрация: 06.06.2008
Сообщений: 5
|
|
| 06.06.2008, 15:45 | |
|
drummer, крассафчик)
А методы эти оч известные)))) лучше для таких случаев, книга окулова, но в инете полно инфы, но окулов рулит) з.ы. выложу решения) обоих подзадач n! [I]var f:text; temp,n,k,i,j:integer; a:array[1..10000] of integer; begin assign(f,'input.txt');reset(f);read(f,n) ;close(f); k:=1;a[1]:=1; for j:=1 to n do begin temp:=0; for i:= 1 to k do begin temp:=temp+(a[i]*j); a[i]:= temp mod 10; temp:=temp div 10; end; while temp>0 do begin inc(k); a[k]:=temp mod 10 ;temp:=temp div 10; end; end; assign(f,'output.txt');rewrite(f); for i:=k downto 1 do write(f,a); close(f); end. 2^n [I]var f:text; temp,n,k,i,j:integer; a:array[1..10000] of byte; begin assign(f,'input.txt');reset(f);read(f,n) ;close(f); k:=1;a[1]:=1; for j:=1 to n do begin temp:=0; for i:= 1 to k do begin temp:=temp+(a[i]*2); a[i]:= temp mod 10; temp:=temp div 10; end; if temp>0 then begin inc(k); a[k]:=temp; end; end; assign(f,'output.txt');rewrite(f); for i:=k downto 1 do write(f,a); close(f); end. з.ы. подравил вид
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 06.06.2008, 16:16 | |
|
n1k0LaY , мерси за справку ... как говорится, век живи - век учись...
0
|
|
|
2 / 2 / 3
Регистрация: 13.01.2008
Сообщений: 38
|
|
| 07.06.2008, 11:26 | |
|
2 n1k0LaY
Код лучше оформляй с помощью BB-кодов.
0
|
|
| 07.06.2008, 11:26 | |
|
Помогаю со студенческими работами здесь
13
Помогите решить 3 задачи по C++ Builder 6
помогите решить 2 из 6 задач. люди помогиье. контрольная. Пожалуйста помогите новечку решить проблему с компелятором Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|