有趣的函数

本文介绍了一个有趣的递归函数w(a,b,c),描述了其计算规则。山山在编程中遇到困难,需要计算特定范围内的函数值。代码示例展示了如何通过递归实现该函数并求解给定输入的值。
摘要由CSDN通过智能技术生成

这函数是真的有趣qmq

Description

山山经常找一些很有趣的数学书来阅读以增长自己的数学知识。
一天,他偶然发现一个递归函数w(a,b,c)有以下性质:
如果a<=0 or b<=0 or c<=0  就返回值1;
如果a>20 or b>20 or c>20  就返回w(20,20,20);
如果a<b并且b<c  就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
其它情况就返回w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)。
山山想通过编程求出这个简单的递归函数的值,可是他在编程的时候遇到了一些困难。你能帮助他吗?

Input Format

输入一行三个整数a,b,c,之间用一个空格隔开,-50≤a,b,c≤50。

Output Format

a,b,c三个整数所对应的w(a,b,c)函数的值。要求以格式“w(a, b, c)=函数的值”来输出。

Sample Input 1

1 1 1

Sample Output 1

w(1, 1, 1) = 2

Hint


下面用下画线表示空格以让你更清楚输出格式,其他地方不允许出现多余的空格。

w(1, 1, 1) = 2

#include<bits/stdc++.h>
using namespace std;
int num[55][55][55];
int w(int a,int b,int c){
	if(a<=0 or b<=0 or c<=0) return 1;
	else if(a>20 or b>20 or c>20) return 1048576;
	else{
		if(num[a][b][c]!=0) return num[a][b][c];
		//else return w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
		else return num[a][b][c]=w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);		
	}
	
}
int x,y,z;
int main(){
	scanf("%d%d%d",&x,&y,&z);
	int n=w(x,y,z);
	printf("w(%d, %d, %d) = %d",x,y,z,n);
	return 0;
}

喜欢的话就点个赞吧喵!

### 回答1: 是的,有很多有趣函数可供选择。例如: - `abs()` 函数可以返回一个数的绝对值。 - `bin()` 函数可以将一个整数转换为二进制数字。 - `chr()` 函数可以将一个整数转换为对应的 ASCII 字符。 - `max()` 和 `min()` 函数分别返回列表、元组或字符串中的最大值和最小值。 - `sum()` 函数可以将列表、元组或字符串中的所有数字相加。 - `round()` 函数可以将一个浮点数四舍五入到指定的小数位数。 当然,还有很多其他的有趣函数可供使用,你可以尝试自己探索一下。 ### 回答2: 有趣函数有很多种类,下面我列举几个常见的有趣函数。 1. 斐波那契函数:斐波那契函数是一种递归定义的数列,每个数字是前两个数字之和。这个函数在数学领域和计算领域中应用广泛,有很多有趣的特性和应用。 2. 傅里叶变换函数:傅里叶变换是一种将时间域信号转换为频域信号的数学方法。傅里叶变换函数可以用来分析信号的频谱特性,广泛应用于信号处理、图像处理等领域。 3. 阶乘函数:阶乘函数是指将一个正整数及其之前所有的正整数相乘的函数。它在数学中是一个重要的概念,也经常用于算法设计和计算组合数等问题。 4. Sigmoid函数:Sigmoid函数是一种常用的非线性函数,它具有S字形曲线。Sigmoid函数在深度学习中被广泛应用,常用于将线性变化的输入映射到0到1之间的概率值。 5. 渐进函数:渐进函数是指当自变量趋于无穷大时,函数值的极限趋于某个确定值的函数。例如,常见的渐进函数有线性函数、指数函数和对数函数等。 这些函数都有一些有趣的数学性质和应用,对于数学爱好者和研究者来说,它们具有一定的挑战和趣味性。当然,还有很多其他有趣函数,这只是其中的一小部分。 ### 回答3: 一些有趣函数包括以下几种: 1. 斐波那契函数:斐波那契数列是一个经典的数学问题,可以通过递归函数来实现。它的特点是前两个数字之和等于第三个数字,例如1,1,2,3,5,8,13...这样的数列。 2. 阶乘函数:阶乘是指将一个数乘以它之前所有正整数的结果,可以通过递归函数来实现。例如5的阶乘(5!)为5 x 4 x 3 x 2 x 1 = 120。 3. 反转函数:这个函数可以将一个字符串或数字倒置过来。例如输入"hello",函数会输出"olleh"。 4. 素数函数:素数指的是只能被1和自身整除的数,可以通过编写一个函数来判断一个数是否为素数。 5. 黄金分割函数:黄金分割是一个经典的数学比例,在几何学和艺术设计中广泛应用。可以通过一个简单的函数来计算黄金分割的值。 这些函数不仅有趣,还可以用于解决一些数学问题,提高数学计算的效率。同时,通过编写和实现这些函数,我们可以锻炼编程和数学思维能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值