Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 阶乘(代码厨师)_C++ - Fatal编程技术网

C++ 阶乘(代码厨师)

C++ 阶乘(代码厨师),c++,C++,请有人帮我找到这个代码中的错误。我有它的Python对应程序,它工作得很好,但是当我在C++中对它进行编码时,给出值(n)> 5给了我一个无限循环。 [在这个问题中,您必须在给定数字的阶乘中找到尾随零的数量] [这里T是测试用例的数量,N是数量,z是输出] 你的逻辑不正确。看看我正确提交的这个,希望它有帮助:- #include<iostream> using namespace std; int tailing_zero(int n){ int ans=0; int

请有人帮我找到这个代码中的错误。我有它的Python对应程序,它工作得很好,但是当我在C++中对它进行编码时,给出值(n)> 5给了我一个无限循环。 [在这个问题中,您必须在给定数字的阶乘中找到尾随零的数量]

[这里T是测试用例的数量,N是数量,z是输出]


你的逻辑不正确。看看我正确提交的这个,希望它有帮助:-

#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;
            }
        }
    }