怎样用JAVAscript编写数字金字塔

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用JAVAscript编写数字金字塔相关的知识,希望对你有一定的参考价值。

要求页面上输出样式如下:
1
2 3
4 5 6
要求:
先设定一个任意数n(比如10, 或15, 或20,或30,等等) ,然后对此进行循环(从1到n) 。但需要判断,在哪个数字处需要“换行”(如3,6,10,15),而且还要判断,应该输出到哪个数值为止(如n=20,但只输出到15就停止了),使该金字塔成“标准型”三角(不出现最下面一行缺数字的情况)。

基本形式如下:
var n;
n= 25 //这个数可以任意改动
for(i=1;i<=n; i++)

document.write(“ ” + i + “ ”)

一定看清题目!要求是金字塔形式的!不是楼梯形的!谢谢!

<script type="text/javascript">
var nextLeftNum=1;//下一行最左边开始的数
var stop=false;
function printJzt(n)
for(var i=1;i<n;i++)
document.write(getRowN(i)+"<br>");
//如果最左边开始的数大于n则跳出循环,结束打印
if(nextLeftNum>n)return;


function getRowN(r)
var leftNull=60;
var v="";
//先补左边的空格
for(var i=0;i<(leftNull-r*2);i++)
v+="&nbsp;"

for(var i=nextLeftNum;i<nextLeftNum+r;i++)
//如果小于10则在数据前面在补一个空格
if(i<10)v=v+"&nbsp;"+i+"&nbsp;&nbsp;";
else v=v+i+"&nbsp;&nbsp;";

//给下一行最左边数据赋值
nextLeftNum=nextLeftNum+r;
return v;

//调用打印到25的金字塔这里可以是任意的整数
printJzt(25);
</script>

刚才发的空格没有转义,现在可以了
打印的结果是:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
参考技术A 发现要做到很美观很难,先抛砖引玉吧。

var n = 20;
var j = 1;
var mark = 1;
var tier = calculateTier(n);
for(;j<=tier;j++)

if (n<=0)

break;


printBlank(tier-j);
for(var i = 1;i<=j;i++)

document.write(mark);
mark++;
printBlank(1);

document.write("<br>");


function printBlank(number)

if(number == 0)

return;


for(var i=0;i<number;i++)

document.write(" ");



function calculateTier(number)

if (number == 1)

return 1;


var tier = 1;
var endNumber;
while(true)

endNumber = tier * (tier + 1) / 2;
if (endNumber > number)

return --tier;


tier++;



----

上班搞了半个小时这个题目,突然发现前面有好多回复,很惊喜啊,结果一试-_-##汗本回答被提问者和网友采纳
参考技术B <script language="javascript">
var n=100;
var i=1,s=1,t=0,k;
for (var j=1;j<n+1;j++)

if (s==i)

t++;
i++;
s=0;
if (n-j<i)

break;


s++;

i=1;
s=1;
//上面的FOR跟下面的一样,只是想计算一下需要的行数,以便下面好计算留空
//变量t即为获取的行数
for (var j=1;j<n+1;j++)

if (s==1)

for (k=t;k>i;k--)

document.write('&nbsp;&nbsp;'); //跟据上面的行数来补空



if (j<10) //这里为了显示美观将小于10的数前面补0;

document.write('&nbsp;&nbsp;0'+j);

else

document.write('&nbsp;&nbsp;'+j);


if (s==i)

document.write('<br>');
i++;
s=0;
if (n-j<i) //判断下面的数字是否够一行,如不够则终止

break;


s++;

</script>

-------------------------------------
你试了没有?,这个就是金字塔。
不然不用这么长代码,可以删除一半代码了。

MD,百度编辑器吃了 &nbsp; 符号,我说呢。

楼主,代码核心大家都给你列出来,只是百度会吃&nbsp;符,所以你测试时可能不正确,不会在这小问题上犹豫不决吧。
参考技术C <script>
var n=222; // 这个数可以任意改动
var rowLength=1; // 当前行的长度
var i=1; // 自动增长数(显示的数)
var str=""; // 最终结果

// 下一行是否有足够的数字
while(n-i >= rowLength)
// 循环添加当前行数字
for(var j=1; j<=rowLength; j++)
str+=" "+(i++)+" ";

str+=rowLength+"<br/>";
rowLength++;

document.write(str);
</script>

怎么用java打印金字塔

参考技术A   public class work2
  public static void main(String[] args)
  method(9);
  
  //参数化控制行数
  public static void method(int n)
  for(int i = 1;i <= n;i++)
  //每行打印的空格
  for(int j = 1;j <= n - i;j++)
  System.out.print(" ");
  
  //每行打印的*
  for(int k = 1;k <= 2 * i - 1;k++)
  System.out.print("*");
  
  System.out.println();
  
  
  

以上是关于怎样用JAVAscript编写数字金字塔的主要内容,如果未能解决你的问题,请参考以下文章

求java程序,输入数字,输出相应行数的金字塔星星

javascript 编写

python 怎样打星号金字塔

怎么用java打印金字塔

用python打印数字金字塔

用java编写小程序打印“金字塔”