zoukankan      html  css  js  c++  java
  • 算法——猴子分桃

      想做些有关“算法”的练习题,在网上无意间看到了一道很经典的算法题——猴子分桃,于是百度了一下,才发现这道题的相关文档很多很多,但最多的也就是使用C++或者Java来解决这道题,而自己也是初次接触C++。

    1.先介绍一下C++使用最常见的编辑器——dev cpp.附上下载地址:(http://bloodshed-dev-c.en.softonic.com/download);

    2.

    3.接着选好所要下载好的地址;

    4.剩下的事情就是“一路默认”,直至安装完成。

    然后就剩启动Dev C++,启动完Dev c++后,就先新建一个项目吧:可以按ctrl+N或者直接点“文件”——“新建”——“源代码”;待你写好代码,然后就需要

    点击运行之后,先选择“运行”——“编译”——“运行”或者直接点击“运行”——“编译运行”就可以运行项目了。

    还有一种新建项目的方法:

    “文件”——“新建”——“工程”,然后按上图选择Console Application,再写好文件名即可。运行方法同上。只是首次在运行C++代码时,居然出现了“闪屏”的现象,最后原来是在return 0之前加上一句“ system("PAUSE"); ”,,,,,有的时候加上“getchar();”貌似也可以使程序正常运行。(两者的区别,我也不太懂。。。。)

    附上C++的第一道算法题:

      

        /**海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只 * 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 * 一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子?**/

    运行C++代码:

     #include <stdio.h>
     #include <stdlib.h>
     
     int monkey_peach(int n)
     {
         int *p;
         int i;
     
         p = (int *)malloc(n * sizeof(int));
         if (p == NULL)
             return -1;
     
         p[0] = 1;
     
         while (1)
         {
             for (i = 1; i < n; i++)
             {
                 if ((p[i-1] * 5 + 1) % 4 != 0)
                     break;
                 p[i] = (p[i-1] * 5 + 1) / 4;
             }
     
             if (i >= n)
                 break;
             p[0]++;
         }
     
         for (i = 0; i < n; i++)
         {
             printf("%d ", p[i]);
         }
         printf("
    ");
         printf("peach count = %d.
    ", 5 * p[n-1] + 1);
         
         return 0;
     }
     
     int main()
     {
         monkey_peach(5);
         system("PAUSE"); 
         return 0;
     }

    只是现在看这段C++的代码,自己还欠缺理解,再研究研究……

    运行结果:

    突然也就觉得C++很神奇,愿自己以后多学学!

  • 相关阅读:
    Codeforces 787D. Legacy 线段树优化建图+最短路
    Codeforces 1051E. Vasya and Big Integers
    BZOJ3261 最大异或和
    BZOJ3531 SDOI2014 旅行
    洛谷P2468 SDOI 2010 粟粟的书架
    2018 ICPC 焦作网络赛 E.Jiu Yuan Wants to Eat
    HDU6280 From Tree to Graph
    HDU5985 Lucky Coins 概率dp
    (HDU)1334 -- Perfect Cubes (完美立方)
    (HDU)1330 -- Deck (覆盖物)
  • 原文地址:https://www.cnblogs.com/zhengyeye/p/5606861.html
Copyright © 2011-2022 走看看