4 条题解

  • 0
    @ 2025-5-26 20:49:17

    这一题十分简单

    //循环累加就行了
    //时间复杂度为指数级
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int n, m, i;int main() {
    	int sum = 0;
    	cin >> n >> m;
    	for (i = n;i <= m;i++)
    		if (i % 2 == 1)
    			sum += i;
    	cout << sum << endl;
    }
    
    • 0
      @ 2024-12-28 22:00:52
      #include<iostream>
      using namespace std;
      int n,m,ans;
      signed main(){
      	cin>>n>>m;
      	if(n%2==0)n++;
      	if(m%2==0)m--;
      	for(int i=n;i<=m;i+=2)ans+=i;
      	cout<<ans;
      }
      
      • 0
        @ 2024-12-28 15:50:43

        直接数学等差数列公式走起!

        #include<bits/stdc++.h>
        #define int long long
        #define INF 0x3f3f3f
        using namespace std;
        int n,m;
        signed main(){
        	cin>>n>>m;
        	if(!(n%2))n++;
        	if(!(m%2))m--;
        	cout<<(n+m)*(m-n+2)/4;
        	return 0;
        }
        
        • 0
          @ 2024-12-22 11:03:54

          C++ :

          #include<bits/stdc++.h>
          using namespace std;
          int n,m,d;
          int main()
          {
          cin>>n>>m;
          if(n%2==0)
          	n=n+1;
          for(int i=n;i<=m;i=i+2)
          	{
          	d=d+i;
          	}
          cout<<d;
          }
          

          Python :

          # coding=utf-8
          a,b=input().split()
          c=int(a)
          d=int(b)
          if(c%2==0):
              c=c+1
          if(d%2==0):
              d=d-1
          e=(d-c)//2+1
          print((c+d)*e//2)
          
          • 1

          信息

          ID
          28
          时间
          1000ms
          内存
          128MiB
          难度
          1
          标签
          递交数
          27
          已通过
          24
          上传者