半数单集

    xiaoxiao2021-03-25  249

    针对半数集set(n)中存在重复的问题,计算半数单集,与半数集的区别在于:不能向集合中添加已有的元素。例如, set(6)={6,16,26,126,36,136}。 注意:该半数单集不是多重集。 要求:对于给定的自然数n,计算半数单集set(n)中的元素个数。 样例输入: 6  样例输出:

    6

    #include<stdio.h> #define n 48 int a[1000]; int set(int m){ int sum = 1; if(m == 1) return 1; else{ for(int i = 1;i <= m / 2;i ++){ sum = sum + set(i); if(i > 10 && 2 * (i / 10) <= i % 10){ sum = sum - a[i / 10]; } } } a[n] = sum; return sum; } int main() { int count; a[1] = 1; count = set(n); printf("%d\n",count); return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-3888.html

    最新回复(0)