硬币分法
硬幣分法
1分2分5分的硬幣三種,組合成1元,共有多少種組合。
分析:1元=10角=100分。若只有一種情況則可分析為:
① 若只要1分合成1元,則需要100個(gè)1分;
②若只要2分合成1元,則需要50個(gè)2分;
③若只要5分合成1元,則需要20個(gè)5分。
但題目要求是三種,那么就是1分、2分、5分都至少也要一個(gè)。
?
代碼如下:
/*** <p>* Description:[一塊錢 1分 2分 5分 有多少種分法]* </p>* * Created by [Administrator] [2019年3月15日]* Midified by [修改人] [修改時(shí)間]* @param args*/public static void main(String[] args) {int i,j,k,s,n=0;/* i,j,k 分別代表 一分硬幣、二分硬幣和五分硬幣*/ System.out.println("一塊錢 1分 2分 5分組合,方法如下:");for(i=1;i<100;i++) // 若全是1則需要100個(gè)1相加for(j=1;j<50;j++) // 若全是2則需要50個(gè)2相加for(k=1;k<20;k++) // 若全是5則需要20個(gè)5相加{ s=1*i+j*2+k*5; if (s==100) { ++n; System.out.println("第"+n+"種組合:"+i+"個(gè)1分 + "+j+"個(gè)2分 + "+k+"個(gè)5分");} } System.out.println("共有 "+n+" 種組合。"); }?
?
c語(yǔ)言:
#include "stdio.h" main() { int i,j,k,s,n=0; /* i,j,k 分別代表 一分硬幣、二分硬幣和五分硬幣*/ printf("%5c%5c%5c\n",'1','2','5'); for(i=1;i<100;i++) for(j=1;j<50;j++) for(k=1;k<20;k++) { s=1*i+j*2+k*5; if (s==100) { printf("%5d%5d%5d\n",i,j,k);++n; } } printf("The ways is %d\n",n); }?
總結(jié)
- 上一篇: 日常一记(2)--vba修改模块名
- 下一篇: 英文停用词(转载)