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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
r00712
0 / 0 / 0
Регистрация: 07.09.2013
Сообщений: 114
#1

Целое число N>0 - C++

15.09.2013, 11:43. Просмотров 1202. Ответов 15
Метки нет (Все метки)

Дано целое число N (> 0). Найти произведение 1.1 • 1.2 • 1.3 • … (N сомножителей).
Если честно, даже не понял суть задачи..Пока оперирую только вот этим вот кодом:
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <math.h>
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a; //целое число N>0
 
    getch();
    return 0;
}
Что нужно добавить?))))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2013, 11:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Целое число N>0 (C++):

Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз - C++
задание такое Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз, если у него удалить...

Написать объявление функции, возвращающую целое число и принимающую указатель на целое число - C++
объявите функцию f2, возвращающую результат целого типа и передающую указатель на переменную а целого типа. вызовите функцию f2 с...

Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение - C++
Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение «M на N...

Дано целое число N (> 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число) - C++
Дано целое число N (&gt; 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число).подскажите как решается или подскажите где можно...

Написать функцию, которая принимает 32 битное целое число и возвращает 16 битное целое число - C++
Помогите написать программу, использующую функцию, которая принимает 32 битное целое число и возвращает 16 битное целое число, состоящее из...

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. - C++
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
15.09.2013, 12:01 #2
если
n=1, результат = 1.1
n=1, результат = 1.1*1.2 = 1.32
n=3, результат = 1.1*1.2*1.3 = 1.716

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
    double proizvedenie = 1.0;
    unsigned int n;
 
    cout << "Input number: ";
    cin >> n;
 
    for (double i=1, j=1.1; i<=n; i++, j+=0.1)
        proizvedenie = proizvedenie * j;
 
    cout << proizvedenie << endl;
 
    return 0;
}
0
Belfegor
15.09.2013, 12:01
  #3

Не по теме:

опоздал

0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
15.09.2013, 12:04 #4
Цитата Сообщение от Belfegor Посмотреть сообщение
опоздал
ну и что? можно и свой вариант показать. а r00712 уже потом выберет какое решение больше нравится.
и к тому же чем больше примеров тем больше шансов разобраться)
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
15.09.2013, 12:06 #5
Цитата Сообщение от r00712 Посмотреть сообщение
Если честно, даже не понял суть задачи..
ну я так понял нужно перемножить десятичные дроби
можно так
C++
1
2
3
4
5
6
7
double pr=1;
for(int i=1;i<=n;i++)
{
 double tmp=(double)i/10.0+1.0;
 pr*=tmp;
 
}
только не понятно если n=11 то дробь 2.1?, тогда как у меня
или 1.11?
1
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
15.09.2013, 12:08 #6
вроде бы так правильно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    int N;
    cin >> N;
    long double r = 1;
    for(int i = 1; i <= N; ++i)
    {
        r *= 1 + 0.1*i;
    }
    cout << r << endl;
 
    return 0;
}
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
15.09.2013, 12:09 #7
_,
тот же вопрос
при n больше десяти(ста) как дробь должна выглядеть?
у тебя так же как у меня при n =11 дробь 2.1
0
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
15.09.2013, 12:10 #8
_,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
    int n;
    double pr = 1;
    cin >> n;
    for (double i = 1.1; i <= n; i += 0.1) {
        pr *= i;
    }
    cout << fixed << setprecision(4) << pr << endl;
 
    return 0;
}
Цитата Сообщение от _ Посмотреть сообщение
n=1, результат = 1.1
n=1, результат = 1.1*1.2 = 1.32
n=3, результат = 1.1*1.2*1.3 = 1.716
Цитата Сообщение от r00712 Посмотреть сообщение
1.1 • 1.2 • 1.3 • … (N сомножителей).
n = 3;
1.1*1.2*1.3*1.4*1.5*1.6*1.7*1.8*1.9*2.0*2.1*2.2*2.3*2.4*2.5*2.6*2.7*2.8*2.9*3.0
0
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
15.09.2013, 12:11 #9
у меня при n=11 дробь 140.793
неправильно понял, думал результат
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
15.09.2013, 12:15 #10
Цитата Сообщение от ValeryS Посмотреть сообщение
при n больше десяти(ста) как дробь должна выглядеть?
не поленился, прописал всю цепочку до десяти)
C++
1
2
3
4
5
6
7
8
9
10
n=1, 1.1
n=1, 1.1*1.2 = 1.32
n=3, 1.1*1.2*1.3 = 1.716
n=4, 1.1*1.2*1.3*1.4
n=5, 1.1*1.2*1.3*1.4*1.5
n=6, 1.1*1.2*1.3*1.4*1.5*1.6
n=7, 1.1*1.2*1.3*1.4*1.5*1.6*1.7
n=8, 1.1*1.2*1.3*1.4*1.5*1.6*1.7*1.8
n=9, 1.1*1.2*1.3*1.4*1.5*1.6*1.7*1.8*1.9
n=10, 1.1*1.2*1.3*1.4*1.5*1.6*1.7*1.8*1.9*2.0
получается что при десяти последнее число 2.0 (конечно, если нигде не ошибся)
а при т=11, последнее будет 2.1
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
15.09.2013, 12:18 #11
Цитата Сообщение от Belfegor Посмотреть сообщение
for (double i = 1.1; i <= n; i += 0.1)
ну и сколько итераций будет при n=3
не 30 ли?
Цитата Сообщение от _ Посмотреть сообщение
for (double i=1, j=1.1; i<=n; i++, j+=0.1)
а здесь 3
только я бы поправил чтобы ошибки округления исключить
примерно так
C++
1
for (int i=1, double j=1.1; i<=n; i++, j+=0.1)
Добавлено через 2 минуты
Цитата Сообщение от _ Посмотреть сообщение
не поленился, пописал всю цепочку до десяти)
ну так это понятно мог бы и не переписывать вот она
1+n/10
ясно что при n=10
1+10/10=1+1=2
из условия не понятно что будет если n два(три разряда) делить на 100(тысячу) или все равно на 10
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
15.09.2013, 12:27 #12
Цитата Сообщение от ValeryS Посмотреть сообщение
for (int i=1, double j=1.1; i<=n; i++, j+=0.1)
а вот так уже ошибка при компиляции
main.cpp|49|error: expected unqualified-id before 'double'|
Добавлено через 2 минуты
т.е в цикле for() можно либо int переменную объявить либо double. Но что-то одно
0
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
15.09.2013, 12:29 #13
_, или в цикле ничего не объявлять:
C++
1
2
3
int i=1;
double j=1.1;
for(; i<=n; i++, j+=0.1)
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
15.09.2013, 12:41 #14
Цитата Сообщение от rublag Посмотреть сообщение
или в цикле ничего не объявлять:
можно и так. да не можно, а нужно именно так, потому что по другому не получится
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
15.09.2013, 13:23 #15
Цитата Сообщение от _ Посмотреть сообщение
можно и так. да не можно, а нужно именно так,
ну вопрос нужно или нет весьма спорный
дело в том что 0.1 не превратится в конечную двоичную дробь
значит при +0.1 будет накапливаться погрешность, при больших итерациях набежит не мало
а вот /10.0 погрешности будут компенсироваться
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 13:23
Привет! Вот еще темы с ответами:

Дано целое число m. получить найбольщее целое k при котором 4^k<m - C++
дано целое число m. получить найбольщее целое k при котором 46^k&lt;m Добавлено через 1 минуту извините есть ошибка вот правильная...

Дано целое число (N>0) найти наибольшее целое числа k, квадрат которого не превосходит N:k^2<=N - C++
Помогите пожалуйста сделать задачу. Нужно сделать на С++. Вот условие: Дано целое число (N&gt;0) найти наибольшее целое числа k, квадрат...

Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазо - C++
8. Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не...

Дано вещественное число A и целое число N. Вывести A в степени N (код внутри) - C++
Дано вещественное число A и целое число N (N больше 0). Вывести A в степени N: AN =A•A•...•A (числа A перемножаются N раз). Использовать...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.09.2013, 13:23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru