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

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

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

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

06.03.2010, 19:10. Просмотров 3912. Ответов 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=

42
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
669 / 531 / 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
669 / 531 / 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
Эксперт С++
8293 / 3513 / 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
Эксперт С++
8293 / 3513 / 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
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.03.2010, 19:17 #28
Musik, в каком виде вы собираетесь хранить вот
такое
331627509245063324117539338057632403828111720810578039457193543706038077905600822400273230859732592255402352941225834109 258084817415293796131386633526343688905634058556163940605117252571870647856393544045405243957467037674108722970434684158 343752431580877533645127487995436859247408032408946561507233250652797655757179671536718689359056112815871601717232657156 110004214012420433842573712700175883547796899921283528996665853405579854903657366350133386550401172012152635488038268152 152246920995206031564418565480675946497051552288205234899995726450814065536678969532101467622671332026831552205194494461 618239275204026529722631502574752048296064750927394165856283531779574482876314596450373991327334177263608852490093506621 610144459709412707821313732563831572302019949914958316470942774473870327985549674298608839376326824152478834387469595829 257740574539837501585815468136294217949972399813599481016556563876034227312912250384709872909626622461971076605931550201 895135583165357871492290916779049702247094611937607785165110684432255905648736266530377384650390788049524600712549402614 566072254136302754913671583406097831074945282217490781347709693241556111339828051358600690594619965257310741177081519922 564516778571458056602185654760952377463016679422488444485798349801548032620829890965857381751888619376692828279888453584 639896594213952984465291092009103710046149449915828588050761867924946385180879874512891408019340074625920057098729578599 643650655895612410231018690556060308783629110505601245908998383410799367902052076858669183477906558544700148692656924631 933337612428097420067172846361939249698628468719993450393889367270487127172734561700354867477509102955523953547941107421 913301356819541091941462766417542161587625262858089801222443890248677182054959415751991701271767571787495861619665931878 855141835782092601482071777331735396034304969082070589958701381980813035590160762908388574561288217698136182483576739218 303118414719133986892842344000779246691209766731651433494437473235636572048844478331854941693030124531676232745367879322 847473824485092283139952509732505979127031047683601481191102229253372697693823670057565612400290576043852852902937606479 533458179666123839605262549107186663869354766108455046198102084050635827676526589492393249519685954171672419329530683673 495544004586359838161043059449826627530605423580755894108278880427825951089880635410567917950974017780688782869810219010 900148352061688883720250310665922068601483649830532782088263536558043605686781284169217133047141176312175895777122637584 753123517230990549829210134687304205898014418063875382664169897704237759406280877253702265426530580862379301422675821187 143502918637636340300173251818262076039747369595202642632364145446851113427202150458383851010136941313034856221916631623 892632765815355011276307825059969158824533457435437863683173730673296589355199694458236873508830278657700879749889992343 555566240682834763784685183844973648873952475103224222110561201295829657191368108693825475764118886879346725191246192151 144738836269591643672490071653428228152661247800463922544945170363723627940757784542091048305461656190622174286981602973 324046520201992813854882681951007282869701070737500927666487502174775372742351508748246720274170031581122805896178122160 747437947510950620938556674581252518376682157712807861499255876132352950422346387878954850885764466136290394127665978044 202092281337987115900896264878942413210454925003566670632909441579372986743421470507213588932019580723064781498429522595 589012754823971773325722910325760929790733299545056388362640474650245080809469116072632087494143973000704111418595530278 827357654819182002449697761111346318195282761590964189790958117338627206088910432945244978535147014112442143055486089639 578378347325323595763291438925288393986256273242862775563140463830389168421633113445636309571965978466338551492316196335 675355138403425804162919837822266909521770153175338730284610841886554138329171951332117895728541662084823682817932512931 237521541926970269703299477643823386483008871530373405666383868294088487730721762268849023084934661194260180272613802108 005078215741006054848201347859578102770707780655512772540501674332396066253216415004808772403047611929032210154385353138 685538486425570790795341176519571188683739880683895792743749683498142923292196309777090143936843655333359307820181312993 455024206044563340578606962471961505603394899523321800434359967256623927196435402872055475012079854331970674797313126813 523653744085662263206768837585132782896252333284341812977624697079543436003492343159239674763638912115285406657783646213 911247447051255226342701239527018127045491648045932248108858674600952306793175967755581011679940005249806303763141344412 269037034987355799916009259248075052485541568266281760815446308305406677412630124441864204108373119093130001154470560277 773724378067188899770851056727276781247198832857695844217588895160467868204810010047816462358220838532488134270834079868 486632162720208823308727819085378845469131556021728873121907393965209260229101477527080930865364979858554010577450279289 814603688431821508637246216967872282169347370599286277112447690920902988320166830170273420259765671709863311216349502171 264426827119650264054228231759630874475301847194095524263411498469508073390080000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
число?
0
Musik
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 23
07.03.2010, 19:22  [ТС] #29
чтож придется изобрести =)))
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
07.03.2010, 19:24 #30
Musik, могу предложить вариант на C# и Java. Через пару часов могу и на C++
0
07.03.2010, 19:24
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 не верный ответ) В...


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

Или воспользуйтесь поиском по форуму:
30
Закрытая тема Создать тему
Опции темы

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