大佬帮我看看
为啥我写的不行呀? https://s2.xptou.com/2023/02/19/63f1d7fbbb10e.pngnamespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
const intn = 10;
int[,] arr = new int;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (j==0)
{
arr = 1;
Console.Write(arr + "");
}
else if (i > j)
{
if (i==0 || j==0)
{
continue;
}
else
{
arr = arr[(i - 1), (j - 1)] + arr[(i - 1), (j)];
Console.Write(arr + "");
}
}
else if (i == j)
{
arr = 1;
Console.Write(arr + "");
}
else if(i < j)
{
Console.Write("");
}
}
Console.Write("\n");
}
Console.ReadKey();
}
}
}
用的是C#写的,大概思路是这样子的,可以参考一下 wuliangtdi 发表于 2023-2-19 16:06
用的是C#写的,大概思路是这样子的,可以参考一下
大哥,人家是py,而且学C#的很少吧,效率太低了 wuliangtdi 发表于 2023-2-19 16:06
用的是C#写的,大概思路是这样子的,可以参考一下
谢谢你,但是看不懂 陈尚涵 发表于 2023-2-19 16:30
大哥,人家是py,而且学C#的很少吧,效率太低了
思路都差不多,而且我这个压根没用啥C#里的集合啥的。效率再低也不比Py差,毕竟Ryujinx使用C#写的,性能不差的 陈尚涵 发表于 2023-2-19 16:30
大哥,人家是py,而且学C#的很少吧,效率太低了
https://i.328888.xyz/2023/02/19/XRdlC.png
package com.ct.Main;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
intn = 10;
int[][] arr = new int;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (j==0)
{
arr = 1;
// Console.Write(arr + "");
System.out.print(arr + "");
}
else if (i > j)
{
if (i==0 || j==0)
{
continue;
}
else
{
arr = arr[(i - 1)][(j - 1)] + arr[(i - 1)][(j)];
System.out.print(arr + "");
}
}
else if (i == j)
{
arr = 1;
System.out.print(arr + "");
}
else if(i < j)
{
// arr = ;
System.out.print("");
}
}
System.out.print("\n");
}
Scanner input = new Scanner(System.in);
input.nextInt();
}
}
用java也基本没怎么动,稍微改改就好了 def c(x, y):# 杨辉三角形递归函数
if y == 1 or y == x: # y=1或y=x时,函数返回值为1
return 1
else:
z = c(x-1, y-1) + c(x-1, y) # y为其他值时的递推公式
return z
if __name__ == "__main__":
n = int(input("请输入杨辉三角的行数:"))
for i in range(1, n+1): # 输出n行
for j in range(0, n-i+1):
print("", end=" ")
for j in range(1, i+1):
# 调用递归函数,输出第i行的第j个值
print("%6d" %(c(i, j)), end=" ")
print()
在网上找到的,因为作者说明要注明出处,所以这里发下网址https://www.jianshu.com/p/c086b891179a @isdkz 大佬帮帮我 酷酷的枪手 发表于 2023-2-20 08:28
@isdkz 大佬帮帮我
我这个不行吗 一点沙 发表于 2023-2-20 08:42
我这个不行吗
没仔细看,定义函数还不怎么熟,我想知道上面我写的有什么错误 酷酷的枪手 发表于 2023-2-20 08:51
没仔细看,定义函数还不怎么熟,我想知道上面我写的有什么错误
啊这。。。我也不知道{:10_266:} >>> a = [[]] * 10
>>> id(a)
139784198380928
>>> id(a)
139784198380928
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a.append(42)
>>> a
[, , , , , , , , , ] 占 for j in range(i),这里j的取值有问题,i是从0开始的,j也是从0开始,当i=0时,j没有取值范围,另外range(i)也不会出现i==j的情况,改为for j in range(i+1) dolly_yos2 发表于 2023-2-20 09:14
好的谢谢你,我懂我错哪里了
页:
[1]