如图:求数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7……。求:第40项的值;值为17的第1个数是数列中第几项?
工具/原料
C++编译器
一、答案:
1、代码如下:#include <iostream>using 艘绒庳焰namespace std;int main(){ i荏鱿胫协nt 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&盟敢势袂lt;<a[39]<<endl; for(int i=0;i<100;i++){ if(a[i]==17){ cout<<i+1<<endl; break; }