中国大学MOOC: 某人有10张2分的邮票和10张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资,面值相同,只算1种组合。)请选出正确的程序。
举一反三
- 小型张可以与原邮票相同,也可以单独设计,面值都可以与原邮票不同。可随相应邮票发行,也可以单独发行。票价可与原邮票面值相同,也可以高于原邮票面值,但邮资计费只能按原印邮票面值计算。
- 用加强数学归纳法证明用3分和5分两种邮票可以组合产生任何大于等于8分的邮资。 证明:设P(n)是3分和5分两种邮票可以组合产生任何大于等于n分的邮资。 a)基本步骤: ______ 为真,因为8分邮资可以用一张3分和一张5分邮票来组成。______ 为真,因为9分邮资可以用三张3分邮票来组成。 ______ 为真,因为10分邮资可以用两张5分邮票来组成。b)归纳步骤:命题为只用3分邮票和5分邮票可以组成j(8≤j≤k)分邮资,这里我们假设k≥10。假设这个归纳假设成立,我们可以只用3分邮票和5分邮票组成k+1分邮资。因为k≥10,已知 ______ 为真,即可以组成______ 分邮资。在一个信封上再贴一张 ______ 分邮票,可以组成k+1分邮资。我们已经完成了基础步骤和归纳步骤,因此,根据强归纳原理,对每个大于等于8的整数n,这个语句都为真。
- 某人有5张2分的邮票和5张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张2分邮票加1张3分邮票可以组成5分的邮资;3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资。)按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include int main() { int i,j,k,s,n=0; int a[100]={0}; for(i=0;_________;i++) for(j=0;________;j++) { s=_____________; for(for(k=0;a[k]!=0;k++)) if(s==a[k]) _________; if(a[k]==0&&s>0) { _________; n++; } } printf(" %d kinds:",n); for(k=0;a[k];k++) printf("%2d,",a[k]); return 0; }
- 某人有5张2分的邮票和5张3分的邮票,问使用这些邮票可以组合出多少种不同面值的邮资。(例如:1张2分邮票加1张3分邮票可以组成5分的邮资;3张2分的邮票或2张3分的邮票都可以组成同样的6分邮资。)按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include int main() { int i,j,k,s,n=0; int a[100]={0}; for(i=0;_________;i++) for(j=0;________;j++) { s=_____________; for(for(k=0;a[k]!=0;k++)) if(s==a[k]) _________; if(a[k]==0&&s>0) { _________; n++; } } printf("\n %d kinds:",n); for(k=0;a[k];k++) printf("%2d,",a[k]); return 0; }
- 贝贝有a张邮票比丽丽少1/3丽丽有邮票()张