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

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

Войти
Регистрация
Восстановить пароль
 
 
ИраSunny
0 / 0 / 0
Регистрация: 27.08.2010
Сообщений: 16
#1

Вычисленние произведения чисел - C++

09.03.2011, 21:12. Просмотров 857. Ответов 15
Метки нет (Все метки)

Вычислить произведение чисел кратных 7 на промежутке от 1 до 100
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2011, 21:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычисленние произведения чисел (C++):

Найти сумму произведения четных чисел 1ой строки и произведения положительных чисел 3-го столбца - C++
В матрице А(4;4) найти сумму произведения четных чисел 1ой строки и произведения положительных чисел 3-го столбца не правильно...

Найти разность произведения нечетных чисел 3-ей строки и произведения отрицательных чисел 1-го столбца матрицы - C++
Найти разность произведения нечетных чисел 3-ей строки и произведения отрицательных чисел 1-го столбца матрицы В(4,4).

Создать класс Pair (пара чисел); определить методы изменения полей и вычисления произведения чисел. - C++
Создать класс Pair (пара чисел); определить методы изменения полей и вычисления произведения чисел. Определить производный класс Rectangle...

Запишите функцию для вычисления произведения целых чисел из диапазона от а до в. найдите произведение чисел, диапазон ввести с клавиатуры. В С++ - C++
Запишите функцию для вычисления произведения целых чисел из диапазона от а до в. найдите произведение чисел, диапазон ввести с клавиатуры....

Вычисление произведения нечетных чисел от 1 до 10. - C++
Написать программу для вычисления произведения нечетных чисел от 1 до 10 и вывести на экран. Заранее благодарен тому, кто поможет...

Найти произведения последовательности чисел - C++
Написать программу поиска произведения последовательности чисел,вводимых с клавиатуры, предшествующих первому введенному нулю. Контрольный...

15
alexcoder
1557 / 702 / 94
Регистрация: 03.06.2009
Сообщений: 3,964
Завершенные тесты: 1
09.03.2011, 21:55 #2
C++
1
2
3
4
5
6
7
int main()
{
int p=1;
for(int i=1;i<=100;i++)if(i%7==0)p*=i;
cout << p;
return 0;
}
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
09.03.2011, 22:01 #3
alexcoder, да ну. И что, работает? И даже результат верный? Последнее вызывает сомнения...
0
alexcoder
1557 / 702 / 94
Регистрация: 03.06.2009
Сообщений: 3,964
Завершенные тесты: 1
09.03.2011, 22:13 #4
Во-первых, писал не проверяя.
Во-вторых, переборол лень и проверил - работает:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main()
{
double p=1;
for(int i=1;i<=100;i++)if(i%7==0)p*=i;
cout << p;
system("pause");
return 0;
}
0
Valerko
18 / 18 / 1
Регистрация: 30.11.2010
Сообщений: 164
09.03.2011, 22:13 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main()
{
int a[100];
int i,pr=1;
for(i=0;i<100;i++)
    a[i]=(++i);
 
for(i=0;i<100;i++)
    if(a[i]%7==0)
        pr*=a[i];
cout<<pr;
return 0;
}
примерно так
(компилятора под рукой нет, так что не проверял)
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
09.03.2011, 22:17 #6
alexcoder, я же сказал, последнее вызывает сомнения... Это
C++
1
std::cout << "2 * 2 = 5!";
тоже работает, но оно же не гарантирует, что то, что увидит пользователь - верно.

Добавлено через 2 минуты
Ладно, раз метафоры не катят, попробуем так:
alexcoder, Valerko, слышали что-нибудь про переполнение? А про быстрый рост факториала? Здесь не факториал, но очень похоже.
0
alexcoder
1557 / 702 / 94
Регистрация: 03.06.2009
Сообщений: 3,964
Завершенные тесты: 1
09.03.2011, 22:20 #7
да, слышали, я не зря поставил double на результат, результат получается порядка 22 степени. В задании не указано использовать длинную арифметику
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
09.03.2011, 22:22 #8
Результат-то получается, только вот он будет неточным... Порядка 10^-16, если не ошибаюсь...

Добавлено через 29 секунд
Ну и первый ваш вариант был int, к чему я и придрался)))
0
alexcoder
1557 / 702 / 94
Регистрация: 03.06.2009
Сообщений: 3,964
Завершенные тесты: 1
09.03.2011, 22:25 #9
Первый раз писал вообще не думая, на лету. Второй раз прогнал через отладчик, результат получается ~10^22, там никак не получится отрицательная степень.
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
09.03.2011, 22:28 #10
Я имел ввиду 10^16 точных позиций.
0
easybudda
Модератор
Эксперт CЭксперт С++
10000 / 5923 / 997
Регистрация: 25.07.2009
Сообщений: 11,171
09.03.2011, 22:44 #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
И даже результат верный?
не факт, но шанс есть:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
/* ANSI C 99 */
#include <stdio.h>
#include <stdint.h>
 
int main(void){
    uint64_t i, p = 1;
    
    for ( i = 7; i < 100; i += 7 )
        p *= i;
    printf("%llu\n", p);
    
    return 0;
}
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
09.03.2011, 22:49 #12
easybudda, неа, нету))) Правильный ответ: 59126328543388935628800

Добавлено через 1 минуту
Цитата Сообщение от silent_1991 Посмотреть сообщение
Я имел ввиду 10^16 точных позиций.
Я имел ввиду 16 позиций, естественно))
0
easybudda
Модератор
Эксперт CЭксперт С++
10000 / 5923 / 997
Регистрация: 25.07.2009
Сообщений: 11,171
09.03.2011, 22:51 #13
Цитата Сообщение от silent_1991 Посмотреть сообщение
неа, нету
эх...
0
silent_1991
09.03.2011, 22:57
  #14

Не по теме:

Sosnooley, классно, я тоже умею считать количество позиций в числе...

0
easybudda
Модератор
Эксперт CЭксперт С++
10000 / 5923 / 997
Регистрация: 25.07.2009
Сообщений: 11,171
09.03.2011, 23:14 #15
silent_1991, русские не сдаются!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
/* ANSI C 99 */
#include <stdio.h>
 
int main(void){
    int i;
    long double p = 1.0;
    
    for ( i = 7; i < 100; i += 7 )
        p *= i;
    printf("%.0Lf\n", p);
    
    return 0;
}
Правда, результат немного другой получился, но аккурат 23 цифры...
Код
$ ./p7
59126328543388935626752
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2011, 23:14
Привет! Вот еще темы с ответами:

Вычисление произведения четных чисел, меньших 15 - C++
Составьте программу вычисления произведения четных чисел,меньших 15. Огромное спасибо за ответ.

Представить n в виде произведения простых чисел - C++
Нужно найти каждое значение p^a, если дано n. Помогите, пожалуйста.

Вычисление произведения квадратов чисел из диапазона от а до b, кратных 7 - C++
Составить программу для вычисления произведения квадратов чисел из диапазона от а до b, кратных 7.

Составить программу нахождения произведения нечётных чисел из [a;b] - C++
Вот такие задачи надо сделать: 1.Составить программу нахождения произведения нечётных чисел из . Спасибo.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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