Python_enjoy 2024-01-27 21:12 采纳率: 76.9%
浏览 5
已结题

怎么搞才能加入高精度呢?

怎么搞才能加入高精度呢?

#include <iostream>

int main() {
    int n;
    std::cin >> n;

    int dp[1001];
    dp[1] = 1;
    dp[2] = 2;

    for (int i = 3; i <= n; i++) {
        dp[i] = dp[i-1] + dp[i-2];
    }

    std::cout << dp[n] << std::endl;

    return 0;
}

  • 写回答

1条回答 默认 最新

  • 想要AC的dly 2024-01-27 22:13
    关注

    初级:

    #include <iostream>
    using namespace std;
    int main() {
        int n;
        scanf("%d", &n);
        long long dp[1001];
        dp[1] = 1;
        dp[2] = 2;
        for (int i = 3; i <= n; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
        printf("%lld\n", dp[n]);
        return 0;
    }
    

    终极:

    #include <iostream>
    #include <vector>
    using namespace std;
    string addStrings(const string& num1, const string& num2) {
        string result;
        int carry = 0;
        int i = num1.size() - 1, j = num2.size() - 1;
        while (i >= 0 || j >= 0 || carry > 0) {
            int x = i >= 0 ? num1[i--] - '0' : 0;
            int y = j >= 0 ? num2[j--] - '0' : 0;
            int sum = x + y + carry;
            carry = sum / 10;
            sum %= 10;
            result.insert(result.begin(), sum + '0');
        }
        return result;
    }
    int main() {
        int n;
        cin >> n;
        string dp[1001];
        dp[1] = "1";
        dp[2] = "2";
        for (int i = 3; i <= n; i++) {
            dp[i] = addStrings(dp[i-1], dp[i-2]);
        }
        cout << dp[n] << endl;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月27日
  • 已采纳回答 1月27日
  • 创建了问题 1月27日

悬赏问题

  • ¥20 这张图页脚大概具体代码该怎么写?
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22