Stranik Опубликовано 5 мая, 2013 Жалоба Поделиться Опубликовано 5 мая, 2013 Написать программу для вычисления суммы факториалов всех нечетных чисел от 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(); } Ссылка на комментарий
promises Опубликовано 5 мая, 2013 Жалоба Поделиться Опубликовано 5 мая, 2013 ну можно получить нечетные числа используя не i++, а i+2 в цикле for:...for(i=1;i<=9; i=i+2)...только у тебя сейчас код выводит что-то вроде: 1! , ... , N!, 9! .А по заданию по-моему надо: 1! + 3! + 5! + 7! + 9! Ссылка на комментарий
Stranik Опубликовано 5 мая, 2013 Автор Жалоба Поделиться Опубликовано 5 мая, 2013 ну можно получить нечетные числа используя не 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(); } Ссылка на комментарий
promises Опубликовано 5 мая, 2013 Жалоба Поделиться Опубликовано 5 мая, 2013 ну, можно так:for(i=1;i<=9; i=i+2) f+=fact(i); Ссылка на комментарий
piecemaker Опубликовано 5 мая, 2013 Жалоба Поделиться Опубликовано 5 мая, 2013 for(i=1;i<=9;i++) { fac*=i; if(i%2!=0) f+=fac; } Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти