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