1、代码如下:
#include <iostream>
using namespace std;
int main()
{
int a[100];
int n=0,i=0;
for(n=1;n<10;n++){
for(i=(n-1)*(n-1);i>=(n-1)*(n-1)&&i<n*n;i++){
a[i]=2*n-1;
}
}
cout<<a[39]<<endl;
for(int i=0;i<100;i++){
if(a[i]==17){
cout<<i+1<<endl;
break;
}
}
return 0;
}

2、运行结果:

1、此题看似复杂,其实我们把该数组的前100项先算出来,然后按条件查找就可以了。

2、首先,我们要按要求赋值:我们可以把数组分组,把相同数字放在一组,先求出大的分组

3、再在内部把小的元素求出来:

4、最后,按条件查找并输出:
cout<<a[39]<<endl;
for(int i=0;i<100;i++){
if(a[i]==17){
cout<<i+1<<endl;
break;
}
