zoukankan      html  css  js  c++  java
  • HDU 2013 (水)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2013

    题目大意:已知最后一天桃子只有一个,告诉你猴崽子第一天吃掉总桃子数的一半多一个,第二天吃掉剩下总数的一半多一个,给你剩下一个桃子事件是在第 n 天发生的,求桃子总数

    解题思路:

    很水,想一下就出来了

    方法一:for 倒着推

    方法二:简单基本递归入门

    代码:

     方法一:

     1 #include<iostream>
     2 #include<cmath>
     3 #include<iomanip>
     4 //#include<algorithm>
     5 using namespace std;
     6 int num;
     7 int main()
     8 {
     9     int n;
    10     int sum;
    11     int p;
    12     while(cin >> n)
    13     {
    14         sum = 0;
    15         p = 1;
    16         for(int i = 0; i < n - 1; i ++)
    17         {
    18             sum += (p + 1) * 2;
    19             p = sum;
    20             sum = 0;
    21         }
    22         cout << p << endl;
    23     }
    24 }

     方法二:

     1 #include<stdio.h>
     2 int n;
     3 int tao(int cur) {
     4     if(cur == n) return 1;
     5     return 2*(tao(cur+1)+1);
     6 }
     7 int main() {
     8     while(scanf("%d", &n)!=EOF) {
     9         printf("%d
    ", tao(1));
    10     }
    11     return 0;
    12 }

    总感觉for 写的蠢蠢的,不知道该怎么修改优化~喵喵喵?

        

                                  ****************************更新****************************(优化方法一的 for 写法)

     1 #include<iostream>
     2 #include<cmath>
     3 #include<iomanip>
     4 //#include<algorithm>
     5 using namespace std;
     6 int num;
     7 int main()
     8 {
     9     int n;
    10     int sum = 1;
    11     while(cin >> n)
    12     {
    13         sum = 1;
    14         for(int i = 0; i < n - 1; i ++)
    15         {
    16             sum = (sum + 1) << 1;
    17         }
    18         cout << sum << endl;
    19     }
    20 }

     基本移位操作:“<< n” 乘以 2n   ( 空出地方补 “0”)

                             “>> n” 除以 2n      (正数空出地方补 “0”     负数补 ”1“ )

  • 相关阅读:
    vue苦逼自学之路
    第一次博客作业
    u3d学习资料
    leetcode——Divide Two Integers
    leetcode——Swap Nodes in Pairs
    leetcode——Merge k Sorted Lists
    leetcode——Container With Most Water
    leetcode——Regular Expression Matching
    leetcode——Longest Palindromic Substring
    CC_CALLBACK之间的区别
  • 原文地址:https://www.cnblogs.com/gerjcs/p/9372682.html
Copyright © 2011-2022 走看看