1.从键盘输入整数n(n>1),将n分解为若干质数(素数)之积。例如,
当n=10时,输出结果为2,5,
当n=40时,输出结果为2,2,2,5,
**代码实现:
void fenjie(int n)
{
int i=2;
scanf("%d,",n);
while (n>i)
{
if(n%i==0)
{
printf("%d,",i);
n=n/i;
}
else
i++;
}
printf("%d,",n);
}
2、已知某数列前两项为2和3,其后继项根据当前的两项的乘积按下列规则生成:
(1)若乘积为一位数,则该乘积就是数列的后继项;
(2)若乘积为两位数,则乘积的十位和各位数字依次作为数列的后继项
当N=10,求出该数列的前十项为:
2,3,6,1,8,8,6,4,2,4
编写程序,求数列的第m项。
#include <stdio.h>
int main()
{
int n, i, temp;
int shulie[100];
scanf("%d", &n);
shulie[1] = 2;
shulie[2] = 3;
for (i=3; i<=n; i++)
{
temp = shulie[i-1] * shulie[i-2];
if (temp > 9)
{
shulie[i] = temp/10;
shulie[++i] = temp%10;
}
else
shulie[i] = temp;
}
printf("%d\n", shulie[n]);
return 0;
}
小结:
这两个小例子理解起来问题不大。可能是自己写C程序写的太少了吧,需要不断积累。