最强DE战斗力

最强DE战斗力

 最强DE战斗力

时间限制: 1 Sec  内存限制: 128 MB

提交: 40  解决: 14

[
提交][
状态]

题目描述

春秋战国时期,赵国地大物博,资源非常丰富,人民安居乐业。但许多国家对它虎视眈眈,准备联合起来对赵国发起一场战争。

显然,面对多个国家的部队去作战,赵国的兵力明显处于劣势。战斗力是决定战争成败的关键因素,一般来说,一支部队的战斗力与部队的兵力成正比。但当把一支部队分成若干个作战队伍时,这个部队的战斗力就会大大的增强。

一支部队的战斗力是可以通过以下两个规则计算出来的:

1.若一支作战队伍的兵力为N,则这支作战队伍的战斗力为N;

2.若将一支部队分为若干个作战队伍,则这支部队的总战斗力为这些作战队伍战斗力的乘积。

比如:一支部队的兵力为5时的战斗力分析如下:

 

 

 

 

情况

 

 

 

 

作战安排

总的战斗力

1

1,1,1,1,1(共分为5个作战队伍)

1*1*1*1*1=1

2

1,1,1,2   (共分为4个作战队伍)

1*1*1*2=2

3

1,2,2     (共分为3个作战队伍)

1*2*2=4

4

1,1,3     (共分为3个作战队伍)

1*1*3=3

5

2,3        (共分为2个作战队伍)

2*3=6

6

1,4        (共分为2个作战队伍)

1*4=4

7

5           (共分为1个作战队伍)

5=5

 

显然,将部队分为2个作战队伍(一个为2,另一个为3),总的战斗力达到最大! 

输入

第一行: N        表示有N组测试数据。  (2<=N<=5)

接下来有N行,每行有一个整数Ti 代表赵国部队的兵力。 (1 <= Ti <= 1000)i=1,…N

输出

对于每一行测试数据,输出占一行,仅一个整数S, 表示作战安排的最大战斗力。

样例输入

2
5
4

样例输出

6
4

提示

 

来源

第五届河南省大学生程序设计竞赛

 

要想使乘积最大显然最后肯定是2和3的乘积,于是我用了递归。。1000范围内肯定WA,200就不行了。。于是,大数,怎么大数呢,大数相乘?有点意思,不过你又错了,它从哪来的大数相乘啊。

前边说了乘的肯定是2或者3,所以就是一个大数乘以一个2或者3,能乘3肯定不乘2,那么问题来了,乘几次?数/3就好了

CODE:

#include<stdio.h>
#include<string.h>

int sum[205];

void multify(int n)   // 函数,这个大数乘的是几 (2or3,要是数除3余1的话,乘4,因为乘3再乘1没有乘4大==||
{

      int i, t = 0;

     for(i = 0; i < 200; i++, t /= 10)
    {

             t = sum[i] * n + t;  
            sum[i] = t % 10;    // 
    }
}

int main()
{

         int n, t, x, i;

        scanf(“%d”, &n);

        while(n–)
       {

              memset(sum, 0, sizeof(sum));
              sum[0] = 1;

     scanf(“%d”, &t);

    x = t / 3;  // 需要乘以几次3

    if(t % 3 == 1)   x–;   // 如果是1 ,就少乘一次3,乘一次4

    for(i = 0; i < x; i++)
      multify(3);

    if(t % 3 == 1)   multify(4);  // 乘一次4
    else if(t % 3 == 2)   multify(2);   //如果余2,就多乘以一次2。

    for(i = 200; i >= 0; i–)
      if(sum[i])
        break;   //找 开始的位数

    for(; i >= 0; i–)
      printf(“%d”, sum[i]);   //按位输出
    printf(“\n”);
  }
  return 0;
}

 

能不能好好想。

dissectible ~! Careful Analysis ~! cut it up ~! anatomize ~! scrutiny~!

(好好读题~题上也有说乘以2或者3最大。。

转载于:https://www.cnblogs.com/Tinamei/p/4480096.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109465.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数论狄利克雷定理_shx函数

    数论狄利克雷定理_shx函数狄利克雷函数dirac在Matlab中使用Syntaxd=dirac(x)d=dirac(n,x)d=dirac(x)representstheDiracdeltafunctionofx.d=dirac(n,x)representsthenthderivativeoftheDiracdeltafunctionatx.dirac(t)这表示关于ttt的狄利克雷函数dirac(1,t)dirac(2,t)因此,这两个分别表示关于

    2025年9月5日
    1
  • clover引导修改默认启动

    不修改或配置不对默认就前面分区的windows了config.plist里如下就能默认启动macos了<key>Boot</key><dict><key>Arguments</key><string>nv_disable=1dart=0</string><key>DefaultL…

    2022年4月7日
    297
  • CSS3+jQuery实现时钟插件

    查看效果:http://hovertree.com/texiao/hoverclock/demo4.htm本插件使用方便,可以在博客园的页面中使用,请看本页面右侧:http://www.cnblog

    2021年12月21日
    48
  • 英文高频词

    英文高频词(‘rods’,100)(‘carbohydrates’,100)(‘stresses’,100)(‘premiered’,100)(‘cyrus’,100)(‘drastically’,100)(‘eukaryotic’,100)(‘witchcraft’,100)(‘accompaniment’,100)(‘conventionally’,

    2022年7月26日
    19
  • jQuery的目标

    jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的。从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库。jQuery改变ja

    2021年12月24日
    48
  • csgo电脑人怎么控制(csgo守护模式)

    网吧以浓厚的电竞氛围,吸引了很多游戏玩家前去消费。但常去网吧的人会发现:玩穿越火线、英雄联盟、绝地求生甚至守望先锋的人都不在少数,却单单少了CSGO玩家的身影,这是为什么?随着前两年绝地求生的“吃鸡”热潮来袭,网吧早已升级了电脑配置,绝大多数游戏玩家都可流畅地进行自己喜欢的游戏,难道CSGO玩家如何不合群?让我们来熟悉一下进入网吧后的一系列操作就可以得到结论了!去网吧:穿越火线/英雄联盟/绝地求生…

    2022年4月12日
    222

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号