Перейти к содержанию

Исправьте код.


Рекомендуемые сообщения

Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9.

Я написал код, но он считает у меня все факториалы. Как сделать так что он считал только нечетные числа ? Можно ли в цикл for засунуть условие if (i%2!=0) к примеру ? Или же через подпрограмму сделать тоже с условие. Подскажите кому не трудно.

#include 
#include
void main ()
{ int i;
long fac;
clrscr();
fac=1;
for(i=1;i<=9;i++)
{
fac=i*fac;
cout< }
getch();
}

Ссылка на комментарий

ну можно получить нечетные числа используя не i++, а i+2 в цикле for:


...
for(i=1;i<=9; i=i+2)
...

только у тебя сейчас код выводит что-то вроде: 1! , ... , N!, 9! .

А по заданию по-моему надо: 1! + 3! + 5! + 7! + 9!

Ссылка на комментарий
ну можно получить нечетные числа используя не i++, а i+2 в цикле for:


...
for(i=1;i<=9; i=i+2)
...

только у тебя сейчас код выводит что-то вроде: 1! , ... , N!, 9! .

А по заданию по-моему надо: 1! + 3! + 5! + 7! + 9!

Тогда он будет 2! 4! 6! 8! пропустит. И не будет их учитывать. И не будет правильно считать.

Вообщем я подумал и сделал через подпрограмму.

Можете закрывать тему.

#include 
#include
long fact(int s)
{
long q = 1;
for(int i=1;i<=s; i++)
q*=i;
return q;
}
void main()
{
clrscr();
long f = 0;
for(int i=0; i<=9; i++)
{
if(i%2!=0)
f+=fact(i);
}
cout<<"Summa = "<< f < getch();
}

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...