C++ 阶乘(代码厨师)
请有人帮我找到这个代码中的错误。我有它的Python对应程序,它工作得很好,但是当我在C++中对它进行编码时,给出值(n)> 5给了我一个无限循环。 [在这个问题中,您必须在给定数字的阶乘中找到尾随零的数量] [这里T是测试用例的数量,N是数量,z是输出]C++ 阶乘(代码厨师),c++,C++,请有人帮我找到这个代码中的错误。我有它的Python对应程序,它工作得很好,但是当我在C++中对它进行编码时,给出值(n)> 5给了我一个无限循环。 [在这个问题中,您必须在给定数字的阶乘中找到尾随零的数量] [这里T是测试用例的数量,N是数量,z是输出] 你的逻辑不正确。看看我正确提交的这个,希望它有帮助:- #include<iostream> using namespace std; int tailing_zero(int n){ int ans=0; int
你的逻辑不正确。看看我正确提交的这个,希望它有帮助:-
#include<iostream>
using namespace std;
int tailing_zero(int n){
int ans=0;
int DIV=5;
while(n/DIV >0){
ans=ans+n/DIV;
DIV=DIV*5;
}
return ans;
}
int main(){
int run_count;
cin>>run_count;
int input[run_count];
for(int i=0;i<run_count;i++){
cin>>input[i];
}
for(int i=0;i<run_count;i++){
cout<<tailing_zero(input[i])<<endl;
}
return 0;
}
#包括
使用名称空间std;
整数尾零(整数n){
int ans=0;
int DIV=5;
而(n/DIV>0){
ans=ans+n/DIV;
DIV=DIV*5;
}
返回ans;
}
int main(){
int run_计数;
cin>>运行计数;
int输入[运行计数];
对于(int i=0;i>input[i];
}
对于(int i=0;i更改此值:
for(int y=1;y<=N;y++){
int temp=y;
if(temp%5==0){
while(temp/5!=0 && temp%5==0){
Z+=1;
temp/=5;
}
}
}
for(int y=1;y+1用于指出y
在循环中被修改)无需更多答案@dann_u感谢您纠正我:)
#include<iostream>
using namespace std;
int tailing_zero(int n){
int ans=0;
int DIV=5;
while(n/DIV >0){
ans=ans+n/DIV;
DIV=DIV*5;
}
return ans;
}
int main(){
int run_count;
cin>>run_count;
int input[run_count];
for(int i=0;i<run_count;i++){
cin>>input[i];
}
for(int i=0;i<run_count;i++){
cout<<tailing_zero(input[i])<<endl;
}
return 0;
}
for(int y=1;y<=N;y++){
int temp=y;
if(temp%5==0){
while(temp/5!=0 && temp%5==0){
Z+=1;
temp/=5;
}
}
}