3560 - 模拟3
请输出一个数列:
该数列包含两个数列,数列1:a(n)=a(n-2)+2*n,数列2:b(n)=b(n-2)*2+1。手动输入a(1)与b(1)且a(1),b(1)均为大于零的正整数。输出数列将数列a与数列b交替输出,输出合成数列前20位。
Input
输入有多组样例。
输入两个整数,a[1] 和b[1]。
Output
输出这个序列(注意每行末尾没有空格)
Examples
Input
1 4 9 9
Output
1 4 7 9 17 19 31 39 49 79 71 159 97 319 127 639 161 1279 199 2559 9 9 15 19 25 39 39 79 57 159 79 319 105 639 135 1279 169 2559 207 5119
Solution C
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> int main() { // freopen("in","r",stdin); // freopen("out","w",stdout); int a[21]; int i; while(scanf("%d%d",&a[1],&a[2])!=EOF) { for (i=3;i<=20;i++) if (i%2==0) a[i]=a[i-2]*2+1; else a[i]=a[i-2]+2*i; for (i=1;i<20;i++) printf("%d ",a[i]); printf("%d\n",a[i]); } return 0; }
Solution C++
#include<stdio.h> int main() { int a[100],i; while(scanf("%d %d",&a[1],&a[2])!=EOF) { for(i=3;i<=20;i++) { if(i%2==0) a[i]=a[i-2]*2+1; else a[i]=a[i-2]+2*i; } for(i=1;i<20;i++) printf("%d ",a[i]); printf("%d\n",a[20]); } return 0; }