Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
79 / 79 / 84
Регистрация: 26.09.2012
Сообщений: 341
1

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

30.10.2013, 13:29. Показов 1627. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите, пожалуйста, решить задачу. Дано натуральное число M, нужно вычислить последовательность:
1/1+1/2+1/3+...+1/M.

На Паскале знаю, как написать код, а вот на С++ - нет. Помогите, пожалуйста. Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2013, 13:29
Ответы с готовыми решениями:

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько...

Васильев C# Глава 8 задача 2 (Просьба объяснить формулировку(задача внутри)
Текст задачи Написать программу , в которой есть класс с полем, являющимся ссылкой на одномерный...

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача)
Доброго времени суток,форумчане. Хотелось бы попросить помощи в решении одной задачи от умных...

Васильев C# Глава 7 задача 8 (Просьба объяснить формулировку(задача внутри)
Текст задачи Напишите программу с классом, у которого есть текстовое поле. Значение текстовому...

28
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
30.10.2013, 13:33 2
напишите алгоритм на паскале и увидите, что все тоже самое и на сях, малость синтаксис отличается...
0
Заблокирован
30.10.2013, 13:34 3
код на паскале в студию
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
30.10.2013, 14:55 4
C++
1
for(i=1, s=0; i<=M; i++) s += 1.0/M;
1
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
30.10.2013, 15:29 5
я один не понял, при чем здесь факториалы?

Добавлено через 1 минуту
вообще говоря, считается за константу. вроде как известный ряд.
0
79 / 79 / 84
Регистрация: 26.09.2012
Сообщений: 341
31.10.2013, 17:53  [ТС] 6
Цитата Сообщение от Vigi Посмотреть сообщение
напишите алгоритм на паскале и увидите, что все тоже самое и на сях, малость синтаксис отличается...
Не знаю синтаксиса на С++, поэтому прошу помощи в написании кода программы.

Цитата Сообщение от newbie666 Посмотреть сообщение
код на паскале в студию
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
    i,M: integer;
    Res: real;
begin
       Writeln('Введите значение натурального числа M='); Readln(M);
       Res:=0;
       for i:=1 to M do begin
            Res:=Res+1/i;
       end;
       Writeln(Res:0:2);
Readln;
end.
Алгоритм мне понятен, но как написать сам код программы на С++ не знаю.

Байт, спасибо, конечно, но мне бы код полностью... Может быть, кто-нибудь знает?
0
Консультант Витте
106 / 86 / 45
Регистрация: 27.08.2013
Сообщений: 1,356
Записей в блоге: 1
31.10.2013, 17:59 7
Цитата Сообщение от Mishania Посмотреть сообщение
Не знаю синтаксиса на С++, поэтому прошу помощи в написании кода программы.



Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
    i,M: integer;
    Res: real;
begin
       Writeln('Введите значение натурального числа M='); Readln(M);
       Res:=0;
       for i:=1 to M do begin
            Res:=Res+1/i;
       end;
       Writeln(Res:0:2);
Readln;
end.
Алгоритм мне понятен, но как написать сам код программы на С++ не знаю.

Байт, спасибо, конечно, но мне бы код полностью... Может быть, кто-нибудь знает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <locale>
 
 
using namespace std;
 
 
 
int main()
{
    std::locale::global(std::locale(""));
    int M;
    double S=0;
    cout<<"Введите натуральное M "<<endl;
    cin>>M;
    for(int i=1; i<=M; i++) S += 1.0/i;
    cout<<"Сумма ряда = "<<S<<endl;
    system("pause");
    return 0;
}
1
59 / 59 / 12
Регистрация: 01.01.2010
Сообщений: 222
31.10.2013, 18:01 8
C++
1
2
3
4
5
6
7
8
int i=0,M;
double Res;
cout<<"Введите значение натурального числа M=";
cin>>M;
for(i=1;i<M;i++)
 Res=Res+1/i;
cout<<Res;
system("pause");
1
119 / 90 / 44
Регистрация: 24.09.2013
Сообщений: 555
31.10.2013, 18:13 9
У меня так выходит:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<conio.h>
#include<stdio.h>
#include<math.h>
void main()
{
clrscr();
int m;
float i,s;
s=0;
printf("vvedite chislo M:");
scanf("%d",&m);
for (i=1; i<=m; i++) s+=1/i;
printf("Summa:%6.2f",s);
getch();
}
1
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
31.10.2013, 18:32 10
Ну и вот еще как вариант транслейта вашего паскаля:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int m;
    double Res(0),temp(0);
    cout << "Введите значение натурального числа M=";
    cin >> m;
    for (int i = 1; i <= m; i++)
        temp += 1.0 / i;
    Res = int(temp * 100) / 100.0;
    cout << Res << endl;
    
    _getch();
    return 0;
}
Добавлено через 9 минут
Да, если сильно с округлением не мудрить можно в инклюды добавить
C++
1
#include <iomanip>
и тогда вывод будет так
C++
1
cout << setprecision(3) << temp << endl;
Лишне убрать
1
79 / 79 / 84
Регистрация: 26.09.2012
Сообщений: 341
31.10.2013, 18:39  [ТС] 11
Спасибо всем большое!!!
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
01.11.2013, 11:39 12
Scythian,
C
1
Res=Res+1/i;
В большинстве случаев 1/i даст 0.
0
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
01.11.2013, 11:57 13
Цитата Сообщение от Байт Посмотреть сообщение
В большинстве случаев 1/i даст 0.
честно говоря, никогда.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
01.11.2013, 12:06 14
Честно говоря, при всех i > 1.
1
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
01.11.2013, 12:11 15
CheshireCat, ага. Просто salam и Байт живут по разные стороны единицы. ))
0
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
01.11.2013, 12:12 16
мы, по-моему, по разные стороны математики живем.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,519
01.11.2013, 12:18 17
Цитата Сообщение от salam Посмотреть сообщение
честно говоря, никогда.
практически завсегда
ты с 1.0/i не путай

Добавлено через 55 секунд
Цитата Сообщение от salam Посмотреть сообщение
мы, по-моему, по разные стороны математики живем.
есть математика и есть программирование
целочисленные типы дробь не дают
1
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
01.11.2013, 12:19 18
спасибо всем за ценные сведения.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
01.11.2013, 12:53 19
Цитата Сообщение от ValeryS Посмотреть сообщение
есть математика и есть программирование
целочисленные типы дробь не дают

Не по теме:

Спасибо, выручил! А то совсем заклевали. Даже комплексы появились, думаю, о может я и правда того?



Добавлено через 59 секунд
Цитата Сообщение от CheshireCat Посмотреть сообщение
Честно говоря, при всех i > 1.

Не по теме:

И вам спасибо!:)

0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
01.11.2013, 13:28 20
Цитата Сообщение от salam Посмотреть сообщение
мы, по-моему, по разные стороны математики живем.
При i больше единицы живет Байт. Вы же - при i меньше единицы. i равная единице - мост.

Цитата Сообщение от ValeryS Посмотреть сообщение
ты с 1.0/i не путай
Кстати да. / - это не деление. Это получение целой части от деления.
0
01.11.2013, 13:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2013, 13:28
Помогаю со студенческими работами здесь

Задача на k-тую цифру последовательности, задача на схему Горнера.
Ну, собственно опять прошу помощи... Задача 1: Определить k-тую цифру последовательности...

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он...

Олимпиадная задача по программированию. PascalABC.NET. Задача С. Считалка
Ирочка попросила маму придумать новую считалочку. Мама тут же ей &quot;выдала&quot;. Пусть в кругу N...

Первая смешанная задача для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье
Решить первую смешанную задачу для волнового уравнения на отрезке (задача о колебаниях ограниченной...

Задача о размещении весов по ящикам (задача о рюкзаках)
Есть упорядоченный по невозрастанию набор весов предметов w1..wn, которые необходимо распределить...

Задача на файл и задача на создание очереди
1 Дан символьный файл, содержащий, по крайней мере, один символ пробела. Удалить из файла все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru