最强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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 阿里异构离线数据同步工具/平台DataX「建议收藏」

    阿里异构离线数据同步工具/平台DataX「建议收藏」​DataX是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX实现了包括MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS等各种异构数据源之间高效的数据同步功能。

  • 桥接模式

    桥接模式

  • drupal安装chosen模块

    drupal安装chosen模块drupal安装chosen模块1.chosen模块网址是:https://www.drupal.org/project/chosen要下载对于版本的chosen,还要下载chosen jQueryplugin,网址:http://harvesthq.github.com/chosen/2.将jqueryplugin解压出来,将解压后的文件夹内所有文件放到你安装drupal那个目录的libra…

  • tomcat闪退问题整理

    tomcat闪退问题整理tomcat闪退一般有以下几个原因:1、JDK环境变量配置错误;2、JDK版本与tomcat版本不匹配(一般jdk1.6,tomcat8.**这样可能会出现类似问题)3、tomcat内存配置有误(Catalina文件内存配置有误)4、端口被占用解决方案:1、JDK环境变量配置错误;排查:1)检查环境变量:cmd启动命令行窗口→通过cd命令到tomcat的bin目录下→运…

  • DHCP协议原理及其实现流程

    DHCP协议原理及其实现流程DHCP(Dynamic Host Configuration Protocol):动态主机配置协议在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中、大型网络,这种方法就不太适用了。在中、大型网络,特别是大型网络中,往往有超过100台的客户机,手动分配IP地址的方法就不太合适了。因此,我们必须引入一种高效的IP地址分配方法,幸好,DHCP(Dy

  • 如何查看dede版本信息

    如何查看dede版本信息

发表回复

您的电子邮箱地址不会被公开。

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