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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.61
Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
#1

Произведение чисел - C++

08.01.2011, 19:08. Просмотров 3771. Ответов 11
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Найдите наименьшее число n, чтобы произведение чисел от 2 до n делилось на 1992.
#include <iostream>
using namespace std;
int main(void)
{setlocale(LC_ALL,"Russian");
int n,a,pr=1;
for (n=0;n<1992;n++)
{pr=pr*(2+n);      
cout<<"#"<<n<<"---"<<pr<<endl;
        if(pr%1992==0)
        {cout<<"Ответ: "<<n<<endl;
        break;}}
        return 0;
}
Программа работает, пока позволяет диапозон значений типа int, но там получается очень большое число. Эту задачу я взял из олимпиады по математике 8 класса, поэтому там не могут быть такие числа. Помогите найти ошибку ))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 19:08     Произведение чисел
Посмотрите здесь:

Дано 10 действительных чисел. Определить количество, сумму и произведение отрицательных чисел - C++
Дано 10 действительных чисел. Определить количество, сумму и произведение отрицательных чисел.

Если в последовательности из 3-х чисел есть число 7, вычислить произведение этих чисел; иначе - сумму - C++
Задача: Составить программу, в которой пользователь вводит с клавиатуры 3 числа. Если в последовательности из 3-х чисел есть число 7,...

В последовательности вещественных чисел подсчитать произведение чисел, кратных 3 - C++
В последовательности вещественных чисел подсчитать произведение чисел, кратных 3.

Пофиксите баг? Найти произведение чисел последовательности, не делящихся на 5, наибольшее из таких чисел, и его номер - C++
Привет, форумчане! Помогите отладить программу? Что должна делать: &gt;Дана последовательность целых чисел {Aj} произвольной длины....

Дано 5 чисел вычислить произведение нечетных чисел - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include...

Матрица.В матрице A(6; 6) найти произведение суммы четных чисел в 3-ей строке и суммы отрицательных чисел 1-го столбца - C++
В матрице A(6; 6) найти произведение суммы четных чисел в 3-ей строке и суммы отрицательных чисел 1-го столбца:cry:

Горит зачет! Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами - C++
Определить сумму чисел с чётными номерами и произведение чисел с нечетными номерами. Подсчитать количество слагаемых и количество...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FermA
10 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 34
08.01.2011, 19:13     Произведение чисел #2
Нет здесь ошибки, все правильно разве 32 сильно большое число?)))
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
08.01.2011, 19:13     Произведение чисел #3
Вместо int long.
FermA
10 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 34
08.01.2011, 19:18     Произведение чисел #4
Да и кстати 1992 = 24 *83
83 простое то есть n>=83
А прозведение >= 83! = 3.94e+124 Вам никакой лонг не поможет
Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
08.01.2011, 19:18  [ТС]     Произведение чисел #5
Цитата Сообщение от FermA Посмотреть сообщение
Нет здесь ошибки, все правильно разве 32 сильно большое число?)))
когда будет 2*3*4*5*...*30*31*32
да это большое число, и дапозона значений не хватает, поэтому pr присваивается значение 0, что и приводит к выполнению условия 0%1992==0
FermA
10 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 34
08.01.2011, 19:21     Произведение чисел #6
2*3*4*5*...*30*31*32 не может делится на 1992

если эту задачу решать математически что в 100 раз проще чем программировать то ответ 83

Добавлено через 46 секунд
либо длинная арифметика но на 8 класс это перебор
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
08.01.2011, 19:21     Произведение чисел #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream.h>
main ()
{
     unsigned long int n, raz, fact;
     cout<<" n = ";
     fact=2;
     for (n=3; n<34; n++)
     {
         fact=fact*n;
         if (fact%1992==0) break;
     }
     cout<<fact<<" .";
     system("pause");
}
Произведение чисел от 2 до н - это тоже самое, что и факториал(н), который начинается с 2.
Выше - код программы, который у меня полу4ился. n<34; - такое условие поставил потому, что дальше факториал выходит за пределы типа unsigned long int.
как ни странно, у меня программа такого числа не нашла (
FermA
10 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 34
08.01.2011, 19:24     Произведение чисел #8
почему не нашла смотри пост №4

Добавлено через 1 минуту
кароч ответ 83 могу доказать, програмировать эту задачу - извращение
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
08.01.2011, 19:24     Произведение чисел #9
Цитата Сообщение от FermA Посмотреть сообщение
если эту задачу решать математически что в 100 раз проще чем программировать то ответ 83
хотелось бы проверить... но за пределы дале4енько вылезает...
FermA
10 / 8 / 2
Регистрация: 07.01.2011
Сообщений: 34
08.01.2011, 19:26     Произведение чисел #10
доказываю
любое число n<83 не подходит потому что n! не делится на 83 а соответсвенно на 1992

83 подходит поскольку 83! = 83 * 24 * все остальное = 1992 * все остальное что делиться на 1992
Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
08.01.2011, 19:29  [ТС]     Произведение чисел #11
а у типа long double же хватит диапозона значений, но с ним нельзя применять операцию %
может есть вариант заменить % ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 19:31     Произведение чисел
Еще ссылки по теме:

Найти произведение количества чисел не кратных 5 на количество чисел не кратных 7 - C++
задача через stdio.h С клавиатуры вводится последовательность ЦЕЛЫХ чисел. Количество чисел заранее не известно, но может быть очень...

Произведение N-го и M-го чисел - C++
Привет всем. Пытаюсь решить вот такую задачу. Даны числа N и M. Найти произведение N-го и M-го чисел. Примеры: 1 2 ...

произведение 4-х чисел - C++
1. произведение 4-х чисел 2. произведение 6-и чисел 3. объем конуса ету программу которая написана на паскале написать на С++ ...

Произведение неположительных чисел - C++
Дана последовательность целых чисел {Aj} произвольной длины. Найти произве-дение неположительных чисел, наименьшее из неположительных...

Произведение нечётных чисел от 1 до 15 - C++
Напишите программу, которая считает и печатает произведение нечетных целых от 1 до 15. Что то вообще уже мозг не работает, подскажите...


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

Или воспользуйтесь поиском по форуму:
Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
08.01.2011, 19:31     Произведение чисел #12
ясно, вдуплился )
Yandex
Объявления
08.01.2011, 19:31     Произведение чисел
Ответ Создать тему
Опции темы

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