每日一练-数组规律递增
已知一数列:1,3,3,5,5,5,7,7,7,7,9,9,9,9,9,11,11,11,11,11,11,11…请根据规律求出第n项的值。例如:n=4 项时,其值为5,n=11时,其值为9. 输入格式 一个自然数n,(0<n<1000),输出格式 一个整数,即第n项的值。
样例输入:4
样例输出 :5
解题思路:由题可知,该数列为一等差为2的等差数列,且数字重复次数第几个奇数有关,如3,为第二个奇数,则重复两次3;
代码实现:
#include<stdio.h>
int main()
{
int a,b,i;
scanf("%d",&a);
int n=1,count=1,num=1; //初始化
for(i=0;i<a;i++) //递增至指定项数
{
if(count>n)
{
num+=2;
n++;
count=1; //循环一次后就初始化为原值
printf(“n=%d ,i1=%d\n”,n,i);//打印此时的n,i值
i–; //i–保证再一次循环时数据在哪个位置位置开始
printf(“count=%d,i=%d\n”,count,i); //打印此时的count,n值
}
else