UVA - 11384 正整数序列(发现规律)

- 日理万妓 2024-02-17 21:21 85阅读 0赞

题意:

有一个1到n的序列,你一次从这个序列中取出几个数字,把他们减去同一个数,问最少做几次,全部变成0;

  1. /*
  2. 如果每次我们给后面一般的数减去个n/2则问题就化简成了n/2的问题
  3. 例如 n=6时 将4,5,6,同时减去个3 则数据就变成了{1,2,3,1,2,3}此问题等价于n=3时的问题
  4. 这题真的很有启发性
  5. */
  6. #include<cstdio>
  7. #include<iostream>
  8. using namespace std;
  9. int fun(int n){
  10. return n==1?1:fun(n/2)+1;
  11. }
  12. int main(){
  13. int n;
  14. while(~scanf("%d",&n)){
  15. printf("%d\n",fun(n));
  16. }
  17. return 0;
  18. }

发表评论

表情:
评论列表 (有 0 条评论,85人围观)

还没有评论,来说两句吧...

相关阅读

    相关 四、从数字中发现规律

    技术派是一群对数字和图形痴迷的人,他们每天面对着不断更新的各种技术指标和图形,不懈地想在其中发现规律和模式并印证自己早先发现的或是从他人处学来的规律和模式。这种锲而不舍与科学家