CodeForces 468A

本文介绍了一个有趣的数学题目,即如何利用1到n的整数通过加、减、乘的操作来达到24的目标值。文章分享了一种有效的解决思路并给出了具体的实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这题本来不想说但是我被骗的这么惨还是得说下。

题意:给出一个数n,然后用1~n这n个数通过加,减,乘得到24.

思路:给出这些时,我被他人误解了题意,自己也理解错了部分题意,并不是加减乘全用上,当你计算出一个数时下次可以用这个数。

代码如下:

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long LL;
#define INF 0x3f3f3f3f
int main()
{
  int n;
  scanf("%d",&n);
  if(n<4) printf("NO\n");
  else
  {
    printf("YES\n");
    while(n>5)
    {
      printf("%d - %d = 1\n",n,n-1);
      n-=2;
      printf("%d * 1 = %d\n",n,n);
    }
    if(n==5)
    {
      printf("5 * 4 = 20\n");
      printf("20 + 3 = 23\n");
      printf("23 + 2 = 25\n");
      printf("25 - 1 = 24\n");
    }
    else if(n==4)
    {
      printf("4 * 3 = 12\n");
      printf("12 * 2 = 24\n");
      printf("24 * 1 = 24\n");
    }
  }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值