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

N!= 1*2*3*...*N - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отслеживание нажатия клавиш. http://www.cyberforum.ru/cpp-beginners/thread88984.html
#include <iostream> #include <string> #define FOR(i,a,b) for (int i(a), _n(b); i < _n; ++i) using namespace std; int main() { string s = "", d;
C++ С++ контрольня работа 1 Даны две окружности: первая с центром в точке (а, Ь) и радиусом К., вторая с центром в точке (р, ц) и радиусом 8. Напишите программу на языке С++, определяющую имеют ли окружности общие точки. Входными данными программы являются числа а, Ь, К, р, ^ и 8. 2 Напишите на языке С++ программу решения уравнения ах +Ьх~+с=0. На вход подаются целые числа а, Ь, с. На выходе программа должна выдавать... http://www.cyberforum.ru/cpp-beginners/thread88983.html
C++ Вывод массива
Здрасти, помогите вывести массив: #include <iostream> #include <conio.h> int* CreateDoubleDynArray(unsigned int count_row, unsigned int count_col); int main() { int* pS=0;
C++ близнецы
:curtsy: Привет всем. Пожалуйста мне нужна помощь. Заранее огромнейшее спасибо. Вот задачи: 1. Найти все натуральные числа, не превосходящие N<1000 и представимые в виде суммы квадратов двух различных натуральных чисел. 2. Два простых числа называбтся "близнецами", если они отличаются друг от друга на 2 ( например числа 41 и 43 -"близнецы"). Найти всех "близнецов", не превосходящих N...
C++ Строки http://www.cyberforum.ru/cpp-beginners/thread88925.html
проверте пожалуйста задачу! за ранее огромное спасибо) Нужно в предложении заменить многоточия точкой. # include <iostream.h> # include <string.h> void main () { int i, l; char st;
C++ многомерный массив помогите пожалуйста написать программу: Дана целочисленная прямоугольная матрица. Определить: 1) количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент; 2) Упорядочить строки по возрастанию максимумов их элементов. подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
25.01.2010, 11:05     N!= 1*2*3*...*N
Кол-во нулей считается очень просто.
Нужно все числа от 1 до N разложить на простые множители.
На самом деле нас интересует сколько раз в разложении встречается 2 и сколько раз 5.
Пусть 2 встречается p2 раза, 5 - p5 раз.
Тогда число нулей в N! будет c0= min(p2,p5).

Добавлено через 2 минуты
Код примерное такой:
C
1
2
3
4
5
6
7
8
int n, p2= 0, p5= 0, c0, t;
 
n= 100;
t= n;
while ( t%2 == 0 ) { p2++; t/= 2; }
while ( t%5 == 0 ) { p5++; t/= 5; }
c0= (p2<=p5) ? p2 : p5;
printf( "zero count=%d\n", c0 );
 
Текущее время: 03:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru