zoukankan      html  css  js  c++  java
  • 18.06.27 POJ NOI 7217猴子吃桃

    描述

        海滩上有一堆桃子,N只猴子来分。第一只猴子把这堆桃子平均分为N份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子接着把剩下的桃子平均分成N份,又多了一个,它同样把多的一个扔入海中,拿走了一份。第三、第四、……,第N只猴子仍是最终剩下的桃子分成N份,扔掉多了的一个,并拿走一份。
        编写程序,输入猴子的数量N,输出海滩上最少的桃子数,使得每只猴子都可吃到桃子。

    输入

    一个整数N。

    输出

    输出当猴子数量为N时海滩上最少的桃子数。结果保证在int型范围内。

    样例输入

    2

    样例输出

    7
     1 #include <cstdio>
     2 #include <string>
     3 #include <memory.h>
     4 #include <algorithm>
     5 #include <stdlib.h>
     6 #include <math.h>
     7 #include <iostream>
     8 #include<queue>
     9 #include <vector>
    10 #include <bitset>
    11 using namespace std;
    12 
    13 int n;
    14 int dp[1000];
    15 
    16 int main()
    17 {
    18     scanf("%d", &n);
    19     dp[1] = 1;
    20     while(1)
    21     {
    22         int flag = true;
    23         for (int i = 2; i <= n ; i++)
    24         {
    25             dp[i] = (dp[i - 1] * n + 1) / (n - 1);
    26             if (dp[i] * (n - 1) != dp[i - 1] * n + 1) {
    27                 dp[1]++;
    28                 flag = false;
    29                 break;
    30             }
    31         }
    32         if (flag)
    33             break;
    34     }
    35     printf("%d
    ", dp[n ]*n+1);
    36     return 0;
    37 }
    View Code
     1 #include <cstdio>
     2 #include <string>
     3 #include <memory.h>
     4 #include <algorithm>
     5 #include <stdlib.h>
     6 #include <math.h>
     7 #include <iostream>
     8 #include<queue>
     9 #include <vector>
    10 #include <bitset>
    11 using namespace std;
    12 
    13 int n;
    14 
    15 int main()
    16 {
    17     scanf("%d", &n);
    18     for (int i = 1;; i++) {
    19         int y = i * n + 1;
    20         int j = 1;
    21         for (; j < n; j++) {
    22             if (y % (n - 1) != 0)break;
    23             y = y / (n - 1)*n + 1;
    24         }
    25         if (j != n)continue;
    26         printf("%d
    ", y);
    27         break;
    28     }
    29     return 0;
    30 }
    View Code

    以上是正常解法

     1 #include <cstdio>
     2 #include <string>
     3 #include <memory.h>
     4 #include <algorithm>
     5 #include <stdlib.h>
     6 #include <math.h>
     7 #include <iostream>
     8 #include<queue>
     9 #include <vector>
    10 #include <bitset>
    11 using namespace std;
    12 
    13 int n;
    14 
    15 int main()
    16 {
    17     int n, i, ans = 1;
    18     scanf("%d", &n);
    19     if (n == 2) { printf("%d
    ", 7); return 0; }
    20     ans = pow(n, n);
    21     ans -= (n - 1); printf("%d
    ", ans);
    22     return 0;
    23 }
    View Code

    不明觉厉的找规律解法……

    注定失败的战争,也要拼尽全力去打赢它; 就算输,也要输得足够漂亮。
  • 相关阅读:
    counter的使用
    Keras保存模型
    pytorch中F.avg_pool1d()和F.avg_pool2d()
    为什么要进行batchNormalization?
    利用Ajax完成前后端数据传输有关知识(day67)
    ORM中choice参数的设计、Ajax介绍(day66)
    聚合分组查询、F与Q查询、常用字段知识(day65)
    ORM数据库查询操作(单表,多表)(day64)
    CBV源码剖析,模板语法(day63)
    小程序加入购物车抛物线效果
  • 原文地址:https://www.cnblogs.com/yalphait/p/9234154.html
Copyright © 2011-2022 走看看