杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
方法:找到特殊情况,再加上规律。
如果用二维数组a来存储上面的数字,列数为0,也就是 a [i] [0]或者是i==j ,a[i][j],此时a[i][j]的值都为1,可以把它看作是特殊情况。
其他数 则是 a[i][j]= a [i-1][ j-1 ] +a [i-1] [ j ],例如a[2][1]=2=a[1][0]+a[1][j]=1+1.
找到其中的规律就好办了
打印直接用两个for。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void print( int n) { int arr[10][10] = { 0 }; for ( int i = 0; i <= n-1; i++) { for ( int j = 0; j <= i;j++) { if (j == i || j == 0) //找到特殊情况直接赋值1 { arr[i][j] = 1; } else arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; printf( "%d " , arr[i][j]); } printf( "\n" ); } } |
结果图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架