Автор Ней мар задал вопрос в разделе Другие языки и технологии
Помогите, пожалуйста, с нахождением факториала. Язык Си. и получил лучший ответ
Ответ от Krab Bark[гуру]
Зачем два цикла? Затем, это не стандартный С, это C++ или C99. И нет заголовочного файла. Правильно
#include<stdio.h>
int main (){
int number = 1,j;
for(j = 1; j <= 10; j++){number *=j; printf("%d
", number);}
return 0;}
Кроме того, скрипты - это не С и не C++, Под скриптами обычно понимаются, программы, выполняемые интерпретаторами (перевод в машинный язык и сразу выполнение по одной команде) , а не компиляторы.
P.S. Если это C99 - OK 🙂
Да, пропустил: факториалы ВСЕХ чисел. Тогда подправляю.
P.P.S. Виталий, максимальный размер int зависит от реализации компилятора. В 32-битных системах, как правило, до 2 миллиардов.
У тебя переполнение типа int. Число настолько большое, что не влезает в тот участок памяти, что ты ей выделил своим int number = 1, если взять n <= 9, то выводит число. Решение - создать свой класс для хранения огромных чисел. Суть - число представляется в виде массива int-овых значений, например, число 101010 будет выглядеть как массив из 6 элементов, где, скажем, 3й элемент равен одному. Может есть и попроще рецепт на конкретно твою задачу, но тебе будет полезно узнать про длинную арифметику и как быстро с ней работать. p.s. Кстати, да, не посмотрел на задачу. Если нужно просто найти факториал десяти, то второй цикл и не нужен был. Достаточно было убрать второй, и все работало бы как часы. p.p.s. вчитался еще раз, и не понял условие. Всё-таки нужно найти один факториал 10, или 10 факториалов от 1 до 10? Непонятное условие. p.p.p.s. Кстати, еще непонятка для меня. Насколько я помню, в int хранится от -32768 до 32767. Если я у себя оставляю тип int и меняю n<=10 на n<=9, то выводит число 1073741824, а это уже явно long. В чем прикол? UPD. Krab Bark, спасибо. Я намудрил с циклами. Чуть-чуть изменил ваш цикл и получилось: #include <stdio.h> int main (void){ int number = 1, j; for(j = 1; j <= 10; j++){ number *= j; printf("%d
", number); } return 0; } А зачем при каждой итерации тебе выводить текущую величину number? Оставь ее за кодовым блоком, ... for(j = 1; j <= 10; j++){ number *= j; } printf("%d
", number); ... Или вообще их убери, если у тебя всего одна операция: ... for(j = 1; j <= 10; j++) number *= j; ... Удачи 🙂
Вопрос вы везде используете int а в printf используете "% i
" вместо "% d
"
int main (){ int number = 1; for(int n = 1; n <= 10; n++){ number*=n; printf("%d
",number); } return 0; } Так вроде нормально должно быть Проверила - работает
#include <iostream> int main () { int number = 1; for(int n = 1; n <= 10; n++) number *= n; printf("%d
", number); return 0; }
for (int j=1; j<=10; j++) { long long int n=1; for (k=1; k<=j; k++) n*=k; printf("%d!=%d",j,n); }
В чём различие между DVD-R и DVD+R или DVD-RW и DVD+RW?
В чём различие между DVD-R и DVD+R или DVD-RW и DVD+RW.
Устройства с меткой DVD-R/RW
подробнее...
"крутящий момент" в двигателе автомобиля? Объясните, пожалуйста, что это такое и на что влияет.
При одинаковых оборотах коленвала,
двигатель с большим крутящим моментом МОЩНЕЕ.
Сравните
подробнее...
каков физический смысл критерия Рейнольдса?. что такое критерий Рейнольдса.? от каких факторов он зависит?
#yaimg34510#Физический смысл: числитель пропорционален динамическому напору потока (силам инерции)
подробнее...
Кто читал "Смирительная рубашка" Джека Лондона? Какие у Вас впечатления?
Идея перерождений.
Смысл сводится сюда: Смерти не существует. Жизнь -- это дух, а дух не может
подробнее...
Назовите основные центры алюминиевой, медной и никелевой промышленности России. Пожалуйста. Для ЕГЭ по географии нужно
Металлургический комплекс — совокупность отраслей производящих разнообразные металлы. Она включает
подробнее...
Физика "Применение веса" вес как физическая величина. Вес и его приминение . Что можно сказать по такой теме?
Вес — сила воздействия тела на опору (или другой вид крепления в случае подвешенных тел) ,
подробнее...
что такое крутящий момент, обьясните пожалуйста простым языком
Разобраться, что такое крутящий момент, можно на простом примере. Возьмем палку и один ее конец
подробнее...
Что означает релевантность? Что означает релевантность? Ревалентность и релевантность-одно и тоже?
Релевантность (лат. relevo — поднимать, облегчать) в информационном поиске — семантическое
подробнее...
Почему на земле рождаются близнецы?
Двойня может получиться двумя способами.
1. Если в организме женщины образуются одновременно
подробнее...
Что такое реентерабельная программа?
от ре-энтер
Программа, в которую можно повторно войти.
Например, асинхронно работающие
подробнее...
Что такое бореальные леса?
Несмотря на то, что термин "бореальный лес" довольно распространен, он, как ни странно, до сих пор
подробнее...
Кто мне объяснит что такое крутящий момент человеческим языком?
Разобраться, что такое крутящий момент, можно на простом примере. Возьмем палку и один ее конец
подробнее...
что такое КРУТЯЩИЙ МОМЕНТ у двигателя? как он чувствуется при вождении?
Крутящий момент - это сила, с которой двигатель крутит колеса. Чем он больше, тем быстрее
подробнее...
от чего зависит напряжённость электромагнитного поля?
Ну, Роман, Вы такую статью накатали m/
Только вот дело в том, что напряженность
подробнее...