关于自然数的计数问题
各位大虾,有如下问题:统计具有该性质的自然数的个数,对于自然数n(n<=50),在n左边加上一个自然数,但加上的这个数不能超过原数的一半,继续按此规则处理,直到不能再加为止。例如 6,16,126,136,一共6个;例如10,110,210,1210,310,1310,410,2410,12410,510,2510,12510,共12个。要求依次打印出符合要求的各个数字。本人刚入门C,还是初级菜鸟,恳请各位大虾HELP。
回复 2楼 pangding
以下是我写的初级产物,但效率可能不高,仅可以输入符合条件数字的个数,但不知道怎么逐个输入这些数字,可否改进一下小程序?#include "stdio.h"
int count=0;
void left(int);
void main()
{
int n;
scanf("%d",&n);
left(n);
printf("the count are: %d\n",count);
}
void left(int n);
{
int temp;
if(n>0)
{
count++;
for(temp=1;temp<=n/2;temp++)
{
left(temp);
}
}
}
[ 本帖最后由 lianxiangfc 于 2010-8-11 23:26 编辑 ]