XTU OJ 1090 学习笔记

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

typedef long long LL;
LL a[40];

int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		if(n<0)	break;
		printf("2^%d=",n);
		printf("1+");
//		
//		LL ans=n;
//		for(int i=1;i<n;i++)
//		{
//			ans*=(n-i);
//		}
		for(int i=1;i<=33;i++)
		{
			a[i]=i;
		}
		for(int i=1;i<=33;i++)
		{
			for(int j=1;j<i;j++)
			{
				a[i]*=(i-j);
			}
		}
		//printf("%lld\n",a[n]);
		//printf("1+");
//		for(int i=1;i<33;i++)
//		{
//			//printf("%I64d+",a[n]/a[n-i]/a[i]);
//			cout<<a[n]/a[n-i]/a[i]<<"+";
//		}
		for(int i=1;i<n;i++)
		{
			//printf("%I64d+",a[n]/a[n-i]/a[i]);
			cout<<a[n]/a[n-i]/a[i]<<"+";
		}
		printf("1");
		printf("\n");
	}
	return 0;
}

感觉这个代码很有道理,先初始化处理,计算出所有数字的阶乘,然后输出答案,但是WA了

参考题解:

题解

杨辉三角介绍

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

int dp[40][40];

void initialize()
{
	dp[0][0]=1;
	for(int i=1;i<=33;i++)
	{
		dp[i][0]=dp[i][i]=1;
		for(int j=1;j<=i;j++)	dp[i][j]=dp[i-1][j]+dp[i-1][j-1];
	}
}

int main()
{
	initialize();
	int n;
	while(~scanf("%d",&n))
	{
		if(n<0)	break;
		printf("2^%d=1",n);
		for(int i=1;i<=n;i++)	printf("+%d",dp[n][i]);
		printf("\n");
	}
	return 0;
}

我们初始化出来的杨辉三角长这样,不是数学里面的正三角形形状

杨辉三角的美妙之处在于:它是如此足够简单,但本身在数学上却拥有丰富的魅力。

这是数学中的最令人称奇的事物之一,随便取诸多数学性质中的某个,就能表明它是多么的精彩绝伦。

比如:隐藏数列、完全平方数、斐波那契数列、谢尔宾斯基三角、组合数学、二项式定理等等,这些都都可以在杨辉三角形中找到,你发现了吗?


版权声明:本文为CSDN博主「Albert Edison」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_63325890/article/details/122781323

要对杨辉三角的数字敏感一些,下一次遇到类似的样例数据可以迅速的反应过来。杨辉三角的打印也是类似于动态规划的状态转移方程,根据前面的计算结果来计算当前的数字,之后的计算结果根据当前的计算结果来计算。

相关推荐
草履虫建模1 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq3 小时前
分布式系统安全通信
开发语言·c++·算法
Jasmine_llq4 小时前
《P3157 [CQOI2011] 动态逆序对》
算法·cdq 分治·动态问题静态化+双向偏序统计·树状数组(高效统计元素大小关系·排序算法(预处理偏序和时间戳)·前缀和(合并单个贡献为总逆序对·动态问题静态化
ASKED_20194 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain
爱吃rabbit的mq4 小时前
第09章:随机森林:集成学习的威力
算法·随机森林·集成学习
Lois_Luo4 小时前
Obsidian + Picgo + Aliyun OSS 实现笔记图片自动上传图床
笔记·oss·图床
(❁´◡`❁)Jimmy(❁´◡`❁)5 小时前
Exgcd 学习笔记
笔记·学习·算法
傻小胖5 小时前
21.ETH-权益证明-北大肖臻老师客堂笔记
笔记·区块链
YYuCChi5 小时前
代码随想录算法训练营第三十七天 | 52.携带研究材料(卡码网)、518.零钱兑换||、377.组合总和IV、57.爬楼梯(卡码网)
算法·动态规划
不能隔夜的咖喱6 小时前
牛客网刷题(2)
java·开发语言·算法