水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--) { scanf("%I64d",&n); if(n==1) { printf("2 2\n"); continue; } ll cc=0; ll i; for(i=1;;i++) { ll res=i*i-cc; if(res>n) break; cc++; } ll kk=n+cc; ll j,k; ll ans=1;ll oo=1; for(j=1,k=2;j<cc;j++) { ans+=(k*k-(k-1)*(k-1))*oo+1; oo++;k++; } k--; if(kk>k*k) ans+=(kk-k*k)*oo; printf("%I64d %I64d\n",kk,ans); }}
本文介绍了一个简单的C++程序设计问题及其解决方案。该程序通过一系列计算确定特定数值的位置及对应值,并展示了完整的代码实现过程。适用于初学者理解和实践C++基本语法。
2604

被折叠的 条评论
为什么被折叠?



