给定k∈N*,设函数f:N*→N*满足:对于任意大于k的正整数

1个回答

  • f:N* → N*表示f是由正整数集到正整数集的映射.

    所以无论n与k的大小关系如何,f(n)都应该是一个正整数.

    (1) 在k = 1时,条件f(n) = n-k只对n > 1有效,f(1)可以是任意正整数.

    (2) n > 4时,函数值f(n) = n-4都被条件所确定.

    可以变动的只有n = 1,2,3,4时的取值.

    又2 ≤ f(n) ≤ 3,f(n)为正整数,因此f(n)只能为2或3.

    f(1),f(2),f(3),f(4)各有两种取值,分步计数的话就是2×2×2×2 = 16种可能.

    对这道题来说,分步计数真的是最简单的方法了.

    分步计数原理都没学的话,就只有枚举了(还好不算太多):

    f(1),f(2),f(3),f(4)的可能取值有:

    2,2,2,2; 2,2,2,3;

    2,2,3,2; 2,2,3,3;

    2,3,2,2; 2,3,2,3;

    2,3,3,2; 2,3,3,3;

    3,2,2,2; 3,2,2,3;

    3,2,3,2; 3,2,3,3;

    3,3,2,2; 3,3,2,3;

    3,3,3,2; 3,3,3,3.

    共16种.

    如果硬要做的话,也可以用一一对应来计数(二进制对应于0至15的整数),不过既抽象又麻烦.

    其实分步计数原理很好理解的,建议尽快掌握.