怪盗基德1413 2024-08-24 10:36 采纳率: 100%
浏览 6
已结题

小学生趣味编程c++

#include
using namespace std;
int main(){
int a,x=1;
cin>>a;

for(int i=1;i<=a;i++){
    
    x=x*i;
    if(x%3==0){
        x=x/3;
        if(x%5==0)
            {x=x/5;
            }
}
}
cout<<x;
return 0;

}

程序正常理解:是1时,x=ⅹⅹ1,所以笫一次循环x值为1,后面条件语句不成立,不能执行,笫二次循环加1,ⅹ值为1X2二2,后面条件语句不成立,不能执行,笫三次,ⅹ值2X3二6,笫一个条件语句成立,所以6/3=2,笫二个条件语句不成立,所以第三天ⅹ=2。第四次是ⅹ=2x4,8,下面的条件语句不满足,不执行,所以笫4天是8,笫5天是8x5=40,下面的条件语句也不成立,不执行,所以第5天是40.

实际上,运行程序,结果都是0,那么,该程序错在什么地方?

  • 写回答

2条回答 默认 最新

  • a5156520 2024-08-24 22:02
    关注

    我这里测试,输入5,输出是40。

    测试如下:

    #include <iostream>
    using namespace std;
    
    int main() {
        
    
        int a,x=1;
        cin>>a;
    
        for(int i=1; i<=a; i++) {
    
            x=x*i;
            if(x%3==0) {
                x=x/3;
                if(x%5==0) {
                    x=x/5;
                }
            }
        }
        cout<<x;
        return 0;
        
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 创建了问题 8月24日