UVA 11384 正序数排列

Posted cyd2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA 11384 正序数排列相关的知识,希望对你有一定的参考价值。

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2379

http://7xjob4.com1.z0.glb.clouddn.com/33af24c925ae62df4c094b22a2ba7e37

 

题意:给定1-n的数,可选多个数减去同一整数,求最小的操作次数

思路:保留1~n/2,剩下全减去n/2+1,得1,2...,n/2,0,1,...,(n-1)/2.等价于1~n/2,所以f(n)=f(n/2)+1。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int f(int n)
 5 {
 6     if(n==1)    return 1;
 7     return f(n/2)+1;
 8 }
 9 
10 int main()
11 {
12     int n;
13     int i,j,k;
14     while(scanf("%d",&n)!=EOF)
15     {
16         printf("%d\\n",f(n));
17     }
18     return 0;
19 }
View Code

 

以上是关于UVA 11384 正序数排列的主要内容,如果未能解决你的问题,请参考以下文章

uva 11384 Help is needed for Dexter

Uva11384 Help is needed for Dexter

[UVa 11384]Help is needed for Dexter

UVa11384 Help is needed for Dexter (思维)

Uva725 除法

蓝桥杯 排列序数 2014年JavaB组决赛第4题