求一个java小程序的代码。!,,,谢谢
格式如下:1121133114641以此类推,输出10行就ok。谢谢高手了先。。格式如图:...
格式如下:
1
1 2 1
1 3 3 1
1 4 6 4 1
以此类推,输出10行就ok。谢谢高手了先。。
格式如图: 展开
1
1 2 1
1 3 3 1
1 4 6 4 1
以此类推,输出10行就ok。谢谢高手了先。。
格式如图: 展开
4个回答
展开全部
求杨辉三角吧,代码如下:
public class YhuiTriangle {
public static int binomial(int n,int k){
int a = 1,b = 1;
if(k == 0)return 1;
for(int i = 1 ;i<=k;i++){
b = b*i;
a = a * (n-i+1);
}
return a/b;
}
public static void main(String args[]){
System.out.println(" "+1);
for(int n = 2;n<=10;n++){
for(int i = 9;i>=n;i--)System.out.print(" ");
for(int k = 0; k<n ;k++)System.out.print(binomial(n,k)+" ");
System.out.println(1);
}
}
}
//这个算法还可以在时间上进行改进
public class YhuiTriangle {
public static int binomial(int n,int k){
int a = 1,b = 1;
if(k == 0)return 1;
for(int i = 1 ;i<=k;i++){
b = b*i;
a = a * (n-i+1);
}
return a/b;
}
public static void main(String args[]){
System.out.println(" "+1);
for(int n = 2;n<=10;n++){
for(int i = 9;i>=n;i--)System.out.print(" ");
for(int k = 0; k<n ;k++)System.out.print(binomial(n,k)+" ");
System.out.println(1);
}
}
}
//这个算法还可以在时间上进行改进
展开全部
满有意思的样子,
先看看,有思路了就好写了
先看看,有思路了就好写了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package co;
public class YanghuiTriangle {
public static void main(String[] args) {
YanghuiTriangle yht = new YanghuiTriangle();
yht.draw(10);
}
public void draw(int len) {
int[] temp1 = new int[len];
for (int i = 0; i < len - 1; i++) {
temp1[i] = 0;
}
temp1[len - 1] = 1;
print(temp1);
for (int i = 0; i < len-1; i++) {
if (i == len - 2) {
temp1 = makeLine(temp1, true);
print(temp1);
} else {
temp1 = makeLine(temp1, false);
print(temp1);
}
}
}
private int[] makeLine(int[] arr1, boolean isLast) {
int[] result = new int[arr1.length + 1];
if (isLast) {
result[0] = 1;
} else {
result[0] = 0;
}
result[result.length - 1] = 1;
result[result.length - 2] = 0;
for (int i = 0; i < arr1.length - 2; i++) {
result[i + 1] = arr1[i] + arr1[i + 2];
}
return result;
}
private void print(int[] temp){
for(int i=0;i<temp.length;i++){
if(temp[i] == 0)
System.out.print(" ");
else
System.out.print(temp[i]);
}
System.out.println();
}
}
public class YanghuiTriangle {
public static void main(String[] args) {
YanghuiTriangle yht = new YanghuiTriangle();
yht.draw(10);
}
public void draw(int len) {
int[] temp1 = new int[len];
for (int i = 0; i < len - 1; i++) {
temp1[i] = 0;
}
temp1[len - 1] = 1;
print(temp1);
for (int i = 0; i < len-1; i++) {
if (i == len - 2) {
temp1 = makeLine(temp1, true);
print(temp1);
} else {
temp1 = makeLine(temp1, false);
print(temp1);
}
}
}
private int[] makeLine(int[] arr1, boolean isLast) {
int[] result = new int[arr1.length + 1];
if (isLast) {
result[0] = 1;
} else {
result[0] = 0;
}
result[result.length - 1] = 1;
result[result.length - 2] = 0;
for (int i = 0; i < arr1.length - 2; i++) {
result[i + 1] = arr1[i] + arr1[i + 2];
}
return result;
}
private void print(int[] temp){
for(int i=0;i<temp.length;i++){
if(temp[i] == 0)
System.out.print(" ");
else
System.out.print(temp[i]);
}
System.out.println();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个就是输出杨辉三角嘛,百度上现成的已经多得很了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询