代码输出问题这两个代码输出的区别

这个是正确的

img

这个输出错误

img

这两个代码有什么区别吗我觉得两个代码逻辑和方法都差不多,没差别啊

下面那个,每次输入都要算一次,容易超时
并且vector<int>最大值要比 long long int 小,看你的题目n是否很大,造成溢出

你试试不要用vector,用数组,像这样:

#include<bits/stdc++.h>
using namespace std;
int dp[100005];
int n;
int fun(int x)
{
    int dp[n+5];
    dp[1]=1;
    dp[2]=2;
    for(int i=3;i<=n;i++) dp[i]=dp[i-1]+dp[i-2];
    return dp[n];
}
int main()
{
    while(cin>>n)
    {
        cout<<fun(n)<<endl;
    }
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7414362
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:深入理解指针、指向数组的指针和数组名的的区别
  • 您还可以看一下 王文平老师的0行代码写服务部署版课程中的 0行代码写服务框架背景介绍小节, 巩固相关知识点
  • 除此之外, 这篇博客: 结构体指针和结构体指针变量的区别中的 完整代码如下: 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    从你给出的代码和输出结果来看,这两段代码确实在逻辑和方法上没有区别。然而,输出结果却有所不同。通过观察输出结果的截图,可以发现,输出结果1中的文字是清晰可读的,而输出结果2中的文字却是乱码。这表明,输出结果2中的文字存在字符编码问题。

    具体来说,输出结果1中的文字是在一个正常的字符编码环境中输出的,而输出结果2中的文字可能是在一个错误的字符编码环境中输出的。造成这种情况的原因可能是代码文件(包括代码1和代码2)的字符编码方式与输出环境的字符编码方式不匹配。

    为了解决这个问题,你可以尝试以下几种方法:

    1. 确保你的代码文件的字符编码方式与输出环境的字符编码方式一致。你可以使用一个文本编辑器(如Notepad++)来查看和修改代码文件的字符编码方式。常见的字符编码方式包括UTF-8和GBK等。

    2. 确保你的代码文件的内容本身没有字符编码问题。你可以再次检查代码文件的内容,确保其中的文字没有乱码或错误的编码。

    3. 尝试在代码中显式地指定输出环境的字符编码方式。你可以使用C++的locale类来设置输出环境的字符编码方式。具体的方法可以参考C++的locale类的文档。

    以上是我对这个问题的分析和解决方案,希望对你有帮助。如果你有其他问题,请随时提问。


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