Модераторы: Alx, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычислить 35-ю степень числа через 7 операций умн. 
V
    Опции темы
mr.Anderson
Дата 5.2.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Задача: вычислить 35-ю степень числа, используя минимум переменных и только умножение, но умножать не более 7-ми раз.

Мое решение следующее (C++):
Код

//------------------------------------------------------------------------------------

#include <stdio.h>
#include <iostream.h>
//------------------------------------------------------------------------------------

int main( void )
{
  long double a, b, c, d;

  cout << "Enter number, please (not very big!): ";
  cin >> a;

  d = a;

  a *= a; //1 raz
  b = a;
  c = a;

  a = b = a * b; //2 raz 
  a = b = a * b; //3 raz
  a = b = a * b; //4 raz
  a = b = a * b; //5 raz
  a = a * c; //6 raz
  a = a * d; //7 raz

  printf( "%.0f\n\n", a );

  return 0;
}
//------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------

Если ввести число 2, то все правильно - результат моей программы совпадает с результатом из калькулятора Windows.

Если же ввести 3 или 4, то моя программа ошибается (по сравнению с мелкософтовским калькулятором) на несколько единиц.

В чем ошибка и есть ли она вообще?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Strannik
Дата 5.2.2007, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.1.2007

Репутация: нет
Всего: 2



Не знаю... в алгоритме ошибки нет, т.к я  меняю у тебя long double на long long и вывожу с помощью cout, для 2 и 3 ответ правильный(4 увы не влезает....) 
PM MAIL   Вверх
sergejzr
Дата 14.2.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата(mr.Anderson @  5.2.2007,  16:26 Найти цитируемый пост)
Если же ввести 3 или 4, то моя программа ошибается (по сравнению с мелкософтовским калькулятором) на несколько единиц.

калькулятор большие чилса весьма глючно считает. Алг в порядке.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
V.A.KeRneL
Дата 15.2.2007, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: нет
Всего: 14



Если главное алгоритм и операции не обязательно должны быть атомарными, то, как вариант, можно предложить реализовать длинную арифметику (вернее, длинное умножение, другие операции здесь не требуются).


Это сообщение отредактировал(а) V.A.KeRneL - 18.2.2007, 18:28


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
mr.Anderson
Дата 19.2.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Всем спасибо! Хорошо, что алг в порядке. smile 


V.A.KeRneL, термины "атомарные операции" и "длинная арифметика" мне вообще незнакомы. smile


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема »


 




[ Время генерации скрипта: 0.0715 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.