基础2--求五位数中的递减数
基础2--求五位数中的递减数
一、心得
二、题目
三、代码及结果
数学解法:
c(10,5)=252
从十个数中选5个出来组成一个数就会符合题目要求
代码解法:
代码一:
1 #include <iostream> 2 using namespace std; 3 int main(){ 4 int ans=0; 5 for(int i=10000;i<=99999;i++) 6 { 7 int n1=i/10000;//求最高位 8 int n2=(i%10000)/1000;//求次一位 9 int n3=((i%10000)%1000)/100;//求中间位 10 int n4=(i%100)/10;//求十位 11 int n5=i%10;//求个位 12 if(n1>n2&&n2>n3&&n3>n4&&n4>n5) ans++; 13 } 14 cout<<ans<<endl; 15 return 0; 16 }
代码二:
1 #include <iostream> 2 using namespace std; 3 int main(){ 4 int ans=0; 5 for(int n1=1;n1<=9;n1++){//枚举最高位 6 for(int n2=0;n2<=9;n2++){//枚举第二位 7 for(int n3=0;n3<=9;n3++){//枚举第三位 8 for(int n4=0;n4<=9;n4++){//枚举第四位 9 for(int n5=0;n5<=9;n5++){//枚举第五位 10 if(n1>n2&&n2>n3&&n3>n4&&n4>n5) ans++; 11 } 12 } 13 } 14 } 15 } 16 cout<<ans<<endl; 17 return 0; 18 }