欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 元素位于某块儿中第几个位置?← C++

元素位于某块儿中第几个位置?← C++

2024/12/28 14:40:39 来源:https://blog.csdn.net/hnjzsyjyj/article/details/144761580  浏览:    关键词:元素位于某块儿中第几个位置?← C++

【题目描述】
已知一个序列中元素的值为
1 ~ 10^7,并将它们分成了若干块。分块的规则是第 x 块有 x 个元素。即,第 1 块有 1 个元素,第 2 块有 2 个元素,……,以此类推。

【输入格式】
一个整数 n。表示序列中的第 n 个元素。

【输出格式】
按格式“
Locate at position y, in block x.”,输出块 x 中的第 y 个元素。

【输入样例】
12

【输出样例】
Locate at position 2, in block 5.

【算法分析】
●下图示意了分块规则(即,第 x 块有 x 个元素)。可通过它发现求解规律。

● 此算法思想在 “AcWing:5507. Cantor表” 有应用。

【算法代码】

#include <bits/stdc++.h>
using namespace std;int main() {int i,n;cin>>n;for(i=1; i<n; i++) n-=i;cout<<"Locate at position "<<n<<", in block "<<i<<".";return 0;
}/*
in:
12out:
Locate at position 2, in block 5.
*/




【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/144715536
https://www.acwing.com/solution/content/231311/
https://www.luogu.com.cn/problem/P1014






 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com