AOJ-problem-854

本文介绍了一种特殊的锁屏密码设置方式,对于给定的整数N(4≤N≤24),通过递归算法找出所有可能的加减运算组合使得1到N-1的运算结果等于N。

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

                                                                                                             SLF 的锁屏密码

Description

SLF 作为一个与众不同的人,他的锁屏密码当然不能和别人一样简简单单的 4 位密码或者是按个爪印就可以了。
每次 SLF 想要开启手机时,他需要手机先告诉他一个数 N,这个数当然不是一个简简单单数字,它是有特殊含义的:
对给定的 N (4≤N≤24),它其实还表示了一个特殊等式-1@2@3@4@5…@N-2@N-1=N,其中字符@可能是加号也可能是减号。
如果 SLF 想要开启手机,他就要输入有多少个符合条件的这样的等式。



Input

输入包含一个整数的单独一行



Output

输出包含一个整数的单独一行表示满足条件的等式的个数


分析:

递归,看完后才发现多简单(捂脸哭)


代码:

#include<iostream>
using namespace std;
int time=0,n;

void run(int num,int i)
{
	if(num==n&&i==n){
		time++;
		return;
	}
	if(i==n) return;
	run(num+i,i+1);            //+
	run(num-i,i+1);            //-
}

int main()
{
	cin>>n;
	run(-1,2);
	cout<<time;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值