c++编写100 由1、2、5几种组合方式?
请问大侠们:c++编写100 由1、2、5几种组合方式?谢谢了
#include <stdio.h> void show(int x, int y, int z) { static i=1; printf("%d ", i++); while(x--) { printf("5"); } while(y--) { printf("2"); } while(z--) { printf("1"); } printf("\n"); } void deal() { int x, y, z; for (x=1; x<20; ++x) { for (y=1; y<49; ++y) { for (z=1; z<94; ++z) { if (z+y*2+x*5 == 100) { show(x, y, z); } } } } } int main(void) { int sum = 0; int t, data; printf("输入要处理的数据: "); scanf("%d", &data); for( t = 1; t < (data+4)/5; ++t ) { sum += (data - 5*t - 1)/2; } printf("总的组合个数: %d\n", sum ); deal(); return 0; }
#include<iostream.h> #include<iomanip.h> int main () { int i,j,k; int counts=0; for(i=0;i<=100;i++) for(j=0;j<=50;j++) for(k=0;k<=20;k++) if(i+2*j+5*k==100) { cout<<i<<setw(5)<<"个1, "<<j<<setw(5)<<"个2, "<<k<<setw(5)<<"个5组成"<<endl; counts++; } cout<<"100 由1、2、5几种组合方式有"<<counts<<endl; return 0; }