2664: 【基础】数字组合

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:13 解决:7

题目描述

用户输入一个正整数 N(3<=N<=9)。从 0 到 N 之间的所有正整数(包含 0和 N)中选择三个,组成一个三位数(0 不能作为百位数),且这个三位数为奇数,请计算出共有多少种满足条件的三位数组合。(注意:组成的三位数各位上的数字不能重复)。输入描述:输入一个正整数 N(3<=N<=9)。


【上述输入输出样例的进一步解释】
用户输入的正整数,即样例输入为 3,也就是将 0、1、2、3 四个数字进行组合。符合要求的三位数为:103、123、203、213、201、231、301、321 共 8个,所以样例输出为 8。

输入

输入描述:输入一个正整数 N(3<=N<=9)。

输出

输出描述:输出满足条件的三位数组合的个数。

样例输入 复制

3

样例输出 复制

8

提示

如果用排列组合公式: 0 1 2 3  , 个位:C(2,1)【因为是奇数】  , 百位: C(2,1)  【因为不能是零,又被个位选走了一个数字,剩余2个】, 十位:C(2,1)  【个位百位选走了2个,剩余2个】 ,所以是: 8个


拓展,如果是偶数,那么思路: 
01234组成的全体三位数有:C(4,1)*C(4,1)*C(3,1)=4*4*3=48个 【因为0可能被选择,也可能不被选择,如果单独计算,就用组合加法,或者总体-奇数方便一些】
注意 0 不能做百位数.
01234组成的全体三位奇数有:C(2,1)*C(3,1)*C(3,1)=2*3*3=18个
所以 01234组成没有重复的3位数偶数有:48-18=30个


另,可以使用多重循环暴力求解,逐步减少循环次数的方式。



蓝桥杯 初级组真题 2020年9月