为啥输入6输出还是负数

#include <iostream>
using namespace std;
int main()
{
    long long int in_nb,pr_nb=1;
    cin >> in_nb;
    for (long long int i=1;i <= in_nb;i++)
    {
        pr_nb = pr_nb *i;
        cout << i;
    }
    cout << endl << pr_nb;
    return 0;
}


啥问题???

img

没错啊,手动运行了一下,输出为:

123456
720

代码没问题,跟编译器有关,用的哪个编译器?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7536555
  • 这篇博客也不错, 你可以看下验证哥德巴赫猜想,输入大于6偶数,输出能被哪两个素数的和
  • 除此之外, 这篇博客: 数据结构 总结6 树中的 基础知识 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    • 结点的:分支的个数(子树的个数)
    • 树的:树中所有结点的度的最大值
    • 叶子:度为 0,没有左右子树
    • 结点的层次:若根节点的层次为1,第 i 层的结点的子树根结点的层次为 i+1
    • 树的深度:叶子结点所在的最大层次
    • 有序树:左右子树不能任意互换的树
    • 森林:若干棵不相交的树的集合
    • 完全二叉树:树中所含的 n 个结点和满二叉树中编号为 1 至 n 的结点 一 一 对 应
      如果存在一棵二叉树,对树中的结点自上而下、自左而右连续编号,若编号为i的结点与满二叉树中编号为i的结点的位置相同,则称此二叉树为完全二叉树
  • 您还可以看一下 田德华老师的零基础学习微信小程序开发到精通课程中的 6-3 条件渲染小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^