题目如下:
AC代码如下:
#include#include using namespace std; int s[1000010]; int main() { s[1] = 2; int p = 3; int tt = 4; int ttt = 4; for(int i = 2;i<=1000000;i++) { s[i] = p; tt--; if(tt==ttt/2) p++; if(tt==0) { ttt+=2; p++; tt = ttt; } } int t; cin>>t; while(t--) { int n; scanf("%d",&n); printf("%dn",s[n]); } }
这个题算是一道签到题了
思路:打表找规律
由于比较好想,我就直接手写找规律了,请看下图:
请您仔细看一下,就很容易找到规律啦~~。
如果还有点懵,请您结合代码再次看一下 上图,您就应该可以明白啦!
最后感谢您的阅读!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)