Вопрос Товарищи-программисты, помогите! На наше государство напала задача и только избранный решит ее

Регистрация
29 Авг 2013
Сообщения
69
Репутация
0
Спасибо
0
Монет
0
Вот на C++ задачу решил, но она не практична с момента do}while() как-то переделать чтобы ym всех чисел, например, юсер написал число 6, это значит что ym= 1*2*3*4*5*6, а вывести нужно количество нулей в конце числа ym=720, A.out (1)
Надеюсь понятна, вот моя прога :
#include
#include
#include
using namespace std;

int main()
{
ifstream fin("Ain.txt");
ofstream fout("Aout.txt");
int N;
fin>>N;
if(1<=N<= pow(10,6)){
int ym=1;
for(int i=1; i<N+1; i++){

ym=ym*i;
}
//С этого момента переделать
do{
if(ym%100000000000000000000000000==0){ fout<<"26"<<endl; break;}
if(ym%10000000000000000000000000==0){ fout<<"25"<<endl; break;}
if(ym%1000000000000000000000000==0){ fout<<"24"<<endl; break;}
if(ym%100000000000000000000000==0){ fout<<"23"<<endl; break;}
if(ym%10000000000000000000000==0){ fout<<"22"<<endl; break;}
if(ym%1000000000000000000000==0){ fout<<"21"<<endl; break;}
if(ym%100000000000000000000==0){ fout<<"20"<<endl; break;}
if(ym%10000000000000000000==0){ fout<<"19"<<endl; break;}
if(ym%1000000000000000000==0){ fout<<"18"<<endl; break;}
if(ym%100000000000000000==0){ fout<<"17"<<endl; break;}
if(ym%10000000000000000==0){ fout<<"16"<<endl; break;}
if(ym%1000000000000000==0){ fout<<"15"<<endl; break;}
if(ym%100000000000000==0){ fout<<"14"<<endl; break;}
if(ym%10000000000000==0){ fout<<"13"<<endl; break;}
if(ym%1000000000000==0){ fout<<"12"<<endl; break;}
if(ym%100000000000==0){ fout<<"11"<<endl; break;}
if(ym%10000000000==0){ fout<<"10"<<endl; break;}
if(ym%1000000000==0){ fout<<"9"<<endl; break;}
if(ym%100000000==0){ fout<<"8"<<endl; break;}
if(ym%10000000==0){ fout<<"7"<<endl; break;}
if(ym%1000000==0){ fout<<"6"<<endl; break;}
if(ym%100000==0){ fout<<"5"<<endl; break;}
if(ym%10000==0){ fout<<"4"<<endl; break;}
if(ym%1000==0) {fout<<"3"<<endl; break;}
if(ym%100==0) {fout<<"2"<<endl; break;}
if(ym%10==0) {fout<<"1"<<endl; break;}
else fout<<"0"<<endl; break;
}while(1==1);

}

else cout<<"Error"<<endl;
return 0;
}
 
А не проще в цикле с помощью взятия остатка считать количество цифр == 0, пока само число не обнулится, а потом просто вывести значение счётчика?
 
В другой раз в теме пишите по делу и в теле пишите дословно условие задачи -- совершенно не понятно сходу, чего вы хотели сделать, а портить время на выяснение этой сомнительной задачи нет желания.
 
Назад
Сверху