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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.97
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
#1

Найти, на сколько нулей оканчивается число N - C++

06.03.2010, 19:10. Просмотров 3842. Ответов 42
Метки нет (Все метки)

Вводится N. Необходимо найти, на сколько нулей оканчивается чило N!



Нашел решение этой задачи на языке паскаль
но с переводом на С++ проблемы

Надеюсь на вашу помощь )

Добавлено через 30 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var a,b,c,n:longint;
begin
write('>N=');
readln(N);
a:=0;
for c:=1 to n do
begin
  b:=c;
  while b mod 5 = 0 do
    begin
      b:=b div 5;
      inc(a);
    end;
end;
write('>Result: ',a,'.');
readln;
end.


вот текст в паскале
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2010, 19:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти, на сколько нулей оканчивается число N (C++):

На сколько нулей оканчивается факториал числа N? - C++
3.Вводится натуральное число N. На сколько нулей оканчивается число N! (N факториал)?

Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число - C++
Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число.

Вводим число n, а затем n-чисел. Сколько нулей среди n-чисел? - C++
вводим число n, а затем n-чисел. сколько нулей среди n-чисел?

Упорядочить массив по убыванию, найти число положительных/отрицательных/нулей - C++
Упорядочить массив Х(N) по убыванию, найти k1– количество положительных, k2– количество отрицательных, k3– количество нулевых элементов...

Определить, сколько слов оканчивается на заданную букву - C++
Доброго времени суток. Задан текст. Определить, сколько слов оканчивается на заданную букву.

Найти максимальное число в массиве и определить, сколько цифр числа делятся на число Z - C++
Массив intA=

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Amarted
157 / 19 / 2
Регистрация: 26.02.2010
Сообщений: 56
06.03.2010, 20:51 #16
Цитата Сообщение от Musik Посмотреть сообщение
Результат не выводит (
подключи в код #include <conio.h>

и напиши перед return 0, getch();
1
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
06.03.2010, 21:13 #17
точно, но скорее #include <conio> или #include <cconio> не знаю как в новых компиляторах этот заголовочный файл описывается при подключении
1
Amarted
157 / 19 / 2
Регистрация: 26.02.2010
Сообщений: 56
06.03.2010, 21:29 #18
Цитата Сообщение от Vorona Посмотреть сообщение
точно, но скорее #include <conio> или #include <cconio> не знаю как в новых компиляторах этот заголовочный файл описывается при подключении
Да в новых тоже самое на сколько я знаю, хотя даже можно избежать включения лишнего файла, есть такая функция getchar(); она и без #include <conio> работает;
Ну если всётакие компилятор выдаст ошибку при вызове getchar();( хотя по идее не должно ) тогда уже надо использовадь директиву #include <conio> и функцию getch();
1
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
06.03.2010, 21:57  [ТС] #19
Добавлено через 3 минуты
ахах блин так и думал что словами писать надо >_<
количество нулей надо найти на конце Факториала от N ))) в том случае знак ! не являлся интонацией
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
06.03.2010, 22:35 #20
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <conio>
using namespace std;
unsigned long fact(unsigned long);
 
int main() {
    clrscr();
    int a = 0, c;
    unsigned long n, tmp;
 
    cout<<"Enter N: ";
    cin>>n;
 
    tmp = fact(n);
        cout<<"Factorial of "<<n<<'='<<fact(n)<<endl;
    for (c = 0; (c <= tmp/10); c++) {
        if (tmp%10 == 0){
            tmp/=10;
            a++;
        }
    }
    cout<<"Result: "<<a<<endl;
    getch();
    return 0;
}
 
unsigned long fact(unsigned long n)
{
    if(n <= 1)
        return 1;
    return n * fact(n - 1);
}
1
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
07.03.2010, 15:59  [ТС] #21
Работает сейчас правильно
но больше 33 ! не считает ... дело в unsigned long?
0
Amarted
157 / 19 / 2
Регистрация: 26.02.2010
Сообщений: 56
07.03.2010, 16:06 #22
Скорей всего просто идёт переполнение, unsigned long не вмещает просто такое большое число...
попробуй вместо unsigned long использовать unsigned double...
0
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
07.03.2010, 17:46  [ТС] #23
заменяю везде long на double пишет Illegal use of floating point
и неоднократно too many types in declaration

Добавлено через 51 секунду
может быть long double?

Добавлено через 2 минуты
Поставил лонг дабл
if (tmp%10 == 0){

в этой строчке illegal use of floating point
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.03.2010, 18:38 #24
Musik, для вещественного типа не определена операция остаток от деления.
1
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
07.03.2010, 19:08  [ТС] #25
Для вещественных чисел определены все стандартные арифметические операции сложения (+), вычитания (-), умножения (*), деления (/) и изменения знака (-). В отличие от целых чисел, операция нахождения остатка от деления для вещественных чисел не определена.



0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.03.2010, 19:12 #26
Musik, используйте свои типы данных(например на основе массива) или смиритесь с вместимостью unsigned long
0
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
07.03.2010, 19:13  [ТС] #27
необходимо находить остаток от деления факториалов больших чисел таких как 2000 ...
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.03.2010, 19:17 #28
Musik, в каком виде вы собираетесь хранить вот
такое
331627509245063324117539338057632403828111720810578039457193543706038077905600822400273230859732592255402352941225834109258084817415293796131386633526343688905634058556163940605117252571870647856393544045405243957467037674108722970434684158343752431580877533645127487995436859247408032408946561507233250652797655757179671536718689359056112815871601717232657156110004214012420433842573712700175883547796899921283528996665853405579854903657366350133386550401172012152635488038268152152246920995206031564418565480675946497051552288205234899995726450814065536678969532101467622671332026831552205194494461618239275204026529722631502574752048296064750927394165856283531779574482876314596450373991327334177263608852490093506621610144459709412707821313732563831572302019949914958316470942774473870327985549674298608839376326824152478834387469595829257740574539837501585815468136294217949972399813599481016556563876034227312912250384709872909626622461971076605931550201895135583165357871492290916779049702247094611937607785165110684432255905648736266530377384650390788049524600712549402614566072254136302754913671583406097831074945282217490781347709693241556111339828051358600690594619965257310741177081519922564516778571458056602185654760952377463016679422488444485798349801548032620829890965857381751888619376692828279888453584639896594213952984465291092009103710046149449915828588050761867924946385180879874512891408019340074625920057098729578599643650655895612410231018690556060308783629110505601245908998383410799367902052076858669183477906558544700148692656924631933337612428097420067172846361939249698628468719993450393889367270487127172734561700354867477509102955523953547941107421913301356819541091941462766417542161587625262858089801222443890248677182054959415751991701271767571787495861619665931878855141835782092601482071777331735396034304969082070589958701381980813035590160762908388574561288217698136182483576739218303118414719133986892842344000779246691209766731651433494437473235636572048844478331854941693030124531676232745367879322847473824485092283139952509732505979127031047683601481191102229253372697693823670057565612400290576043852852902937606479533458179666123839605262549107186663869354766108455046198102084050635827676526589492393249519685954171672419329530683673495544004586359838161043059449826627530605423580755894108278880427825951089880635410567917950974017780688782869810219010900148352061688883720250310665922068601483649830532782088263536558043605686781284169217133047141176312175895777122637584753123517230990549829210134687304205898014418063875382664169897704237759406280877253702265426530580862379301422675821187143502918637636340300173251818262076039747369595202642632364145446851113427202150458383851010136941313034856221916631623892632765815355011276307825059969158824533457435437863683173730673296589355199694458236873508830278657700879749889992343555566240682834763784685183844973648873952475103224222110561201295829657191368108693825475764118886879346725191246192151144738836269591643672490071653428228152661247800463922544945170363723627940757784542091048305461656190622174286981602973324046520201992813854882681951007282869701070737500927666487502174775372742351508748246720274170031581122805896178122160747437947510950620938556674581252518376682157712807861499255876132352950422346387878954850885764466136290394127665978044202092281337987115900896264878942413210454925003566670632909441579372986743421470507213588932019580723064781498429522595589012754823971773325722910325760929790733299545056388362640474650245080809469116072632087494143973000704111418595530278827357654819182002449697761111346318195282761590964189790958117338627206088910432945244978535147014112442143055486089639578378347325323595763291438925288393986256273242862775563140463830389168421633113445636309571965978466338551492316196335675355138403425804162919837822266909521770153175338730284610841886554138329171951332117895728541662084823682817932512931237521541926970269703299477643823386483008871530373405666383868294088487730721762268849023084934661194260180272613802108005078215741006054848201347859578102770707780655512772540501674332396066253216415004808772403047611929032210154385353138685538486425570790795341176519571188683739880683895792743749683498142923292196309777090143936843655333359307820181312993455024206044563340578606962471961505603394899523321800434359967256623927196435402872055475012079854331970674797313126813523653744085662263206768837585132782896252333284341812977624697079543436003492343159239674763638912115285406657783646213911247447051255226342701239527018127045491648045932248108858674600952306793175967755581011679940005249806303763141344412269037034987355799916009259248075052485541568266281760815446308305406677412630124441864204108373119093130001154470560277773724378067188899770851056727276781247198832857695844217588895160467868204810010047816462358220838532488134270834079868486632162720208823308727819085378845469131556021728873121907393965209260229101477527080930865364979858554010577450279289814603688431821508637246216967872282169347370599286277112447690920902988320166830170273420259765671709863311216349502171264426827119650264054228231759630874475301847194095524263411498469508073390080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
число?
0
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
07.03.2010, 19:22  [ТС] #29
чтож придется изобрести =)))
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.03.2010, 19:24 #30
Musik, могу предложить вариант на C# и Java. Через пару часов могу и на C++
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2010, 19:24
Привет! Вот еще темы с ответами:

Оканчивается ли число на 1? - C++
Помогите пожалуйста с алгоритмом, мне нужно определить, когда число оканчивается на 1 (кроме 11), т.е. 1, 21, 31, 41 и т.д.

Некоторое число оканчивается на 2 - C++
напишите 2 задачки пожалуйста 1)Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число...

найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц - C++
Нужно найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. В чем ошибка ? #include &lt;iostream&gt; #include...

Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц - C++
Здравствуйте, не могу понять в чём может быть ошибка :) Решаю олимпиадную задачу. Но система находит в тесте 5 не верный ответ) В...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.03.2010, 19:24
Закрытая тема Создать тему
Опции темы

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