64,680
社区成员
发帖
与我相关
我的任务
分享
/*
已知一数列的前两项为2和3,其后续项根据当前最后两项的乘积按下列规则生成:
a)若乘积为一位数,则该乘积即为数列的后续项;
b)若乘积为两位数,则该乘积的十位数字和个位数字依次作为数列的两个后续项。
编程实现,输出该数列的前n项以及它们的和,要求输入的n值必须大于2,并且不超过给定的常数值100.
*/
#define MAX 100
#include <stdio.h>
void main()
{
int marray[MAX];
marray[0] = 2;
marray[1] = 3;
int b=0;
int i =2;
for(i;i<100;i++)
{
b = marray[i-2]*marray[i-1];
if(b<10)
{
marray[i] = b;
}
else
{
marray[i] = b/10;
marray[i+1] = b%10;
i++;
}
}
for(i=0; i<100; i++)
{
printf("%d ", marray[i]);
}
}