基础2--求五位数中的递减数

Posted 范仁义

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础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 } 

 

以上是关于基础2--求五位数中的递减数的主要内容,如果未能解决你的问题,请参考以下文章

算法基础:最大递减数问题(Golang实现)

c语言中如何求五个数据中的最小值

如何用C语言编出 读入一个五位数,分割该数各位上的数并将分割的数字以间隔三

三个数中的最大成对递减数

JS基础练习:奇偶数质数闰年水仙花数完美数累加累乘多位数拆分等

求一个int型整数的两种递减数之和(java)--2015华为机试题