Форум программистов, компьютерный форум CyberForum.ru

Задача на фактриалы - C++

Восстановить пароль Регистрация
 
 
Mishania
77 / 77 / 33
Регистрация: 26.09.2012
Сообщений: 341
30.10.2013, 13:29     Задача на фактриалы #1
Здравствуйте. Помогите, пожалуйста, решить задачу. Дано натуральное число M, нужно вычислить последовательность:
1/1+1/2+1/3+...+1/M.

На Паскале знаю, как написать код, а вот на С++ - нет. Помогите, пожалуйста. Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
01.11.2013, 15:51     Задача на фактриалы
  #21

Не по теме:

Вообще-то, результат 1/i очень сильно зависит от типа i.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13988 / 8819 / 1230
Регистрация: 24.12.2010
Сообщений: 15,975
01.11.2013, 21:54     Задача на фактриалы #22
Столько раз я на форуме, да и повсюду, натыкался на непонимание того, как транслятор понимает целочисленное деление, что уж думаю - надо что-то делать. Ну как-то сразу ВСЕМ объяснить, "что по чем и очень точно". Ликвидировать безграмотность.
У меня уже не раз возникали всякие идейки. Типа, повесить баннер - "Сишник! Помни! 1/2 = 0" (Но это навязчиво и неприятно тем, кто эту аксиому знает)
Или при первом входе на Си-форумы заставить пройти тест. int n=3, k=2; n/k = ? - и варианты ответов. И если выбран не 1, заставить прочитать маленькую лекцию (строк 10, не более). Конечно, никаких запретов это порождать не должно, как я понимаю, это противоречит политике форума, Но ткнуть носом в эту очевидную штуку, ИМХО, необходимо.
Если подняться чуть выше, то можно заметить, что в кольце целых чисел операция деления определена не всюду. И дело разработчиков языка доопределить ее на свой вкус. Можно выкидывать ошибку-исключение - то-то все обрадуются! А можно естественно посчитать это целой частью.
Вот написал эту филиппику и подумал. А как в других языках? В затипизированном Паскале? В нетипизированном PHP? Как у стариков - Фортран и PL-1? Что сказал бы догадливый APL? Java, C#?...

Добавлено через 4 минуты

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Вообще-то, результат 1/i очень сильно зависит от типа i.
Чтоб поддержать болтовню, могу заметить, что и от типа "1" - тоже

ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,052
01.11.2013, 21:55     Задача на фактриалы #23
Цитата Сообщение от Байт Посмотреть сообщение
Как у стариков - Фортран
У фортрана ,по моему, та же фигня, есть целочисленные есть плавающие, правда давно не работал с ним
и в Паскале тоже
В ассемблере то железно, если без сопроцессора, частное в EAX остаток в EDX
Tulosba
02.11.2013, 10:19
  #24

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Чтоб поддержать болтовню, могу заметить, что и от типа "1" - тоже
тип 1 по определению int.
http://ideone.com/P1J6xl

ValeryS
02.11.2013, 10:29
  #25

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
тип 1 по определению int.
ага
1.0 плавающее
о чем и было сказано
Цитата Сообщение от ValeryS Посмотреть сообщение
ты с 1.0/i не путай

Tulosba
02.11.2013, 10:36
  #26

Не по теме:

ValeryS, у Вас вариант с изменением типа числителя, у меня - знаменателя.

ValeryS
02.11.2013, 10:42
  #27

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
ValeryS, у Вас вариант с изменением типа числителя, у меня - знаменателя.
никто и не спорит
разговор был что если i int то дробь 1/i при i>1 даст 0
а чтобы получить дробное значение можно написать
C++
1
2
3
4
5
1.0/i;
1/(double)i;
(double)1/i;
(double)1/(double) i;
1.0/(double)i;
вроде все варианты расписал
самый короткий первый

Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.11.2013, 10:45     Задача на фактриалы #28
Цитата Сообщение от ValeryS Посмотреть сообщение
самый короткий первый
отнюдь
C++
1
1./i;
ValeryS
02.11.2013, 10:51     Задача на фактриалы
  #29

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
1./i;
сдаюсь

Yandex
Объявления
02.11.2013, 10:51     Задача на фактриалы
Ответ Создать тему
Опции темы

Текущее время: 05:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru