3 条题解

  • 1
    @ 2022-12-23 9:33:01

    我做这道题用到了有技术含量的递归求解,具体代码如下:

    #include <iostream>
    using namespace std;
    int a(int n)
    {
        if (n == 1)
        {
            return 1;
        }
        else
        {
            return a(n - 2) + n; //递归求和
        }
    }
    int main()
    {
        int x;
        cin >> x; //输入
        cout << a(x); //输出
        return 0;
    } //已AC,请放心食用
    
    • 0
      @ 2023-3-26 10:22:49

      证明:1+3+5++n=(n+12)21+3+5+\cdots + n=(\dfrac{n+1}{2})^2

      根据等差数列求和公式,1+3+5++n=(n+1)×[(n1)÷2+1]÷21+3+5+\cdots + n = (n+1)\times [(n-1)\div2+1]\div 2

      其中,(n1)÷2+1=(n+1)÷2(n-1)\div2+1=(n+1)\div2

      因此,原式 =(n+1)2÷22=(n+12)2=(n+1)^2\div2^2=(\dfrac{n+1}{2})^2

      #pragma GCC optmize(2,3,"Ofast","inline")
      #include<bits/stdc++.h>
      #define int long long
      #define endl '\n'
      using namespace std;
      int n;
      signed main(){
      	ios::sync_with_stdio(false);
      	cin.tie(0);
      	cout.tie(0);
      	cin >> n;
      	cout << (int)pow((n + 1) / 2,2);
      }
      
      
      • 0
        @ 2022-4-24 15:48:45

        鼓励大家写题解,但注意题解格式。

        给代码两端加上这个会舒服一些

        ```cpp

        你的代码

        ```

        </span>

        这个点在键盘的左上角tab上面那个键,注意切换输入法

        #include<iostream>
        using namespace std;
        int main()
        {
            int n;
            cin>>n;//这是一个注释
            return 0;
        } 
        

        请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

        抄袭题解一经发现直接取消成绩。

        • 1

        信息

        ID
        23
        时间
        1000ms
        内存
        16MiB
        难度
        6
        标签
        递交数
        20960
        已通过
        7192
        上传者