题目1072:有多少不同的面值组合?
浮点数表示并不精确,所以不可将float变量用“==”或“!=”与数字比较,尽量转为整数进行比较
http://bbs.csdn.net/topics/340023422有讨论
View Code
1 #include<iostream> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 int main() 6 { 7 int n1=5,n2=4,n3=6; 8 int m1=8,m2=10,m3=18; 9 int temp,a[210]; 10 int num=0; 11 int i,j,k,t; 12 memset(a,0,sizeof(a)); 13 t=0; 14 for(i=0;i<=n1;++i) 15 { 16 for(j=0;j<=n2;++j) 17 { 18 for(k=0;k<=n3;++k) 19 { 20 temp=i*m1+j*m2+k*m3; 21 a[t++]=temp; 22 } 23 } 24 } 25 26 sort(a,a+t); 27 temp=a[0];num=0; 28 for(i=1;i<t;++i) 29 { 30 if(a[i]!=temp) 31 { 32 ++num; 33 temp=a[i]; 34 //cout<<a[i]<<" "; 35 } 36 } 37 //cout<<endl; 38 cout<<num<<endl; 39 return 0; 40 }


浙公网安备 33010602011771号