7 条题解

  • 2
    @ 2023-12-24 13:54:09

    递推秒了 image

    #include <bits/stdc++.h>
    using namespace std;
    long long n,a[105];
    int main()
    {
        a[1] = 1;
        a[2] = 2;
        a[3] = 4;
        for (int i = 4; i <= 80; i++)
            a[i] = a[i - 1] + a[i - 2] + a[i - 3];
            
        while (cin >> n)
        {
            if (n == 0)
                break;
            cout << a[n] << endl;
        }
        return 0;
    }
    
    • 1
      @ 2023-11-12 8:16:47

      我似乎忘了个细节,导致了WA,那个细节就是:

      要开long long

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          ios::sync_with_stdio(false);
          cin.tie(nullptr);
          int n;
          while (cin >> n)
          {
              if (n == 0)
                  break;
              long long a[1005];
              a[1] = 1;
              a[2] = 2;
              a[3] = 4;
              for (int i = 4; i <= n; i++)
                  a[i] = a[i - 1] + a[i - 2] + a[i - 3];
              cout << a[n] << endl;
          }
          return 0;
      }
      
      • 0
        @ 2024-5-23 13:27:11

        秒了

        #include <bits/stdc++.h>
        using namespace std;
        long long n,a[105];
        int main()
        {
            a[1] = 1;
            a[2] = 2;
            a[3] = 4;
            for (int i = 4; i <= 80; i++)
                a[i] = a[i - 1] + a[i - 2] + a[i - 3];
                
            while (cin >> n)
            {
                if (n == 0)
                    break;
                cout << a[n] << endl;
            }
            return 0;
        }
        • 0
          @ 2023-12-9 20:43:08
          #include<iostream>
          long long f[75];
          int main()
          {
              f[1]=1,f[2]=2,f[3]=4;
              for(int i=4;i<=70;i+=1)f[i]=f[i-1]+f[i-2]+f[i-3];
              int x;
              while(std::cin>>x)
              {
                  if(x==0)break;
                  std::cout<<f[x]<<"\n";
              }
          }
          
          • 0
            @ 2023-11-11 16:45:07

            题目描述

            楼梯有n(71>n>0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。


            思路

            递推出公式 f[i]=f[i-1]+f[i-2]+f[i-3]


            #include <iostream>
             
            using namespace std;
            int main()
            {
                int x;
                long long f[110];
                f[1]=1;
                f[2]=2;
                f[3]=4;
                for(int i=4;i<72;i++)
                {
                    f[i]=f[i-1]+f[i-2]+f[i-3]; 
                }
                while(cin>>x&&x)
                {
                    cout<<f[x]<<endl;
                }
                return 0;
            }
            
            • 0
              @ 2023-11-10 23:08:25
              #include<bits/stdc++.h>
              using namespace std;
              long long a[100],n;
              int main()
              {
                  a[1]=1;
                  a[2]=2;
                  a[3]=4;
                  for(int i=4;i<100;i++)
                  {
                      a[i]=a[i-1]+a[i-2]+a[i-3];
                  }
                  while(cin>>n)
                  {
                      if(n==0)
                      {
                          break;
                      }
                      cout<<a[n]<<endl;
                  }
                  return 0;
              }
              
              • -1
                @ 2023-11-10 22:28:55
                #include <iostream>
                int main(){
                    long long n,f[75]={1,2,4};
                    for(int i=3;i<71;i++)f[i]=f[i-1]+f[i-2]+f[i-3];
                    while(std::cin>>n){
                        if(n==0)break;
                        std::cout<<f[n-1]<<"\n";}
                    return 0;}
                
                • 1

                信息

                ID
                562
                时间
                1000ms
                内存
                256MiB
                难度
                7
                标签
                递交数
                2176
                已通过
                442
                上传者