Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
52419 teacher_lu 区间开方和 C++ 通过 74 MS 248 KB 613 2024-10-05 14:42:36

Tests(20/20):


#include <bits/stdc++.h> using namespace std; int main(){ long long l,r,a,b; cin>>l>>r; __int128 cnt=0; if(l==r){ a=sqrt(l); l = a; cout<<l; return 0; } //l a=sqrt(l); b=(a+1)*(a+1); if(r>=b){ cnt+=a*(b-l); } else{ cnt+=a*(r-l+1); } //r a=sqrt(r); b=a*a; if(l<b){ cnt+=a*(r-b+1); } for(long long i=(sqrt(l)+1);i<=(sqrt(r)-1);i++){ a=i*i; b=(i+1)*(i+1); cnt+=i*(b-a); } vector<int> ans; while(cnt > 0) { ans.push_back(cnt%10); cnt /= 10; } for(int i = ans.size()-1; i >= 0; i--) { cout << ans[i]; } return 0; }


测评信息: