半数单集问题

来源:互联网 发布:自私的基因 知乎 编辑:程序博客网 时间:2024/05/22 15:14

则进行处理,直至不能添加自然数为止。 例如,set(6)={6,16,26,126,36,136}。 注意:该半数集是多重集。 要求:对于给定的自然数n,计算半数集set(n)中的元素个数。/

(1)//半数集:两种思想如下

//1f(n)=1+f(1)+f(2)+f(3)+.....+f(n/2)

//2f(n)=f((n/2)*2-1)+f(n/2)

 

//半数单集(不允许出现相同的元素)#include<stdio.h>int banshu(int num){int count=1;int i;if(num==1)return 1;for(i=1;i<=num/2;i++){count+=banshu(i);if(((i/10)*2<=(i%10))&&(i>10))count-=banshu(i/10);}return count;}int main(){printf("请输入你要求的数:\n");int number;scanf("%d",&number);printf("半数单集set<%d>为:%d\n",number,banshu(number));return 0;}


0 0
原创粉丝点击