基础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 } 

原文地址:https://www.cnblogs.com/Renyi-Fan/p/7054783.html