每日练习-数组规律增加
1、3、5、5、5、7、7、7、9、9、9、9、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 //判断count和n的大小,若count<n,则一直i 至count>n; { printf("i0=%d,",i); printf("num=%d,",num); //此时打印count,n值 count ; printf("count2=%d\n",count); } } printf("%d",num); ////最终需要输出的值 return 0;
}
11 i0=0,num=1,count2=2 n=2 ,i1=1 count=1,i=0 i0=1,num=3,count2=2 i0=2,num=3,count2=3 n=3 ,i1=3 count=1,i=2 i0=3,num=5,count2=2 i0=4,num=5,count2=3 i0=5,num=5,count2=4 n=4 ,i1=6 count=1,i=5 i0=6,num=7,count2=2 i0=7,num=7,count2=3 i0=8,num=7,count2=4 i0=9,num=7,count2=5 n=5 ,i1=10 count=1,i=9 i0=10,num=9,count2=2
9