很多站长朋友们都不太清楚如何用php打印杨辉三角,今天小编就来给大家整理如何用php打印杨辉三角,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 编写程序打印杨辉三角型。 2、 用递归的方法打印杨辉三角形的php程序 3、 fro语句里面不能嵌套多个if语句吗? 4、 编写程序打印以下的杨辉三角形 5、 Python杨辉三角怎么打出两个三角形,菱形,或者左右连个,上下两个? 编写程序打印杨辉三角型。代码:
#includelt;stdio.hgt;
#define N 10
void setdata(int(*s)[N],int n){
int i,j;
for(i=0;ilt;n;i++)//第一列和对角线上的元素都置1
{
slt;igt;lt;igt;=1;slt;igt;[0]=1;
}
for(i=2;ilt;n;i++){//给杨辉三角形其他元素置数
for(j=1;jlt;i;j++){
slt;igt;[j]=s[i-1][j-1]+s[i-1][j];
}
}
}
void outdata(int s[][N],int n){
int i,j;
printf("杨辉三角形:\n");//只输出矩阵下半三角
for(i=0;ilt;n;i++){
for(j=0;jlt;=i;j++){
printf("%6d",slt;igt;[j]);
}
printf("\n");
}
}
main(){
int y[N][N],n=7;
setdata(y,n);//按规律给数组元素置数
outdata(y,n);//输出杨辉三角形
}
可以将杨辉三角形的值放在一个方形矩阵的下半三角中,如需打印7行杨辉三角形,应该定义等于或大于7x7的方形矩阵,只是矩阵的上半部分和其余部分并不使用。
杨辉三角形具有以下特点:
(1)第一列和对角线上的元素都为1;
(2)除第一列和对角线上的元素之外,其他的元素的值均为前一行上的同列元素和前一列元素之和。
方法二、
#includelt;stdio.hgt;
#define LINE 10
int main()
{
int arr[LINE][LINE]={0};
int i=0;
int j=0;
for(i=0;ilt;LINE;i++)
{
arrlt;igt;[0]=1;
arrlt;igt;lt;igt;=1;
}
for(i=2;ilt;LINE;i++)
{
for(j=1;jlt;i;j++)
{
arrlt;igt;[j]=arr[i-1][j-1]+arr[i-1][j];
}
}
for(i=0;ilt;LINE;i++)
{
for(j=0;jlt;(2*LINE-2*i);j++)
{
printf("");
}
for(j=0;jlt;=i;j++)
{
printf("%4d",arrlt;igt;[j]);
}
printf("\n");
}
return 0;
}
方法三、
#define _CRT_SECURE_NO_WARNINGS 1
#includelt;stdio.hgt;
int main()
{
int i,j,n=0;
//首先定义二维数组计数符号i,j还有杨辉三角行数的初始化
int a[100][100]={0,1};
//只有2个初值,即a[0][0]=1,a[0][1]=2,其余数组元素的初值均为0
//二维数组大小可自定,但切记不可使其超过整形数组的大小
while(nlt;1||ngt;100)
//在输入的值不正确时自动初始化问题,重新输入
{
printf("请输入要打印的杨辉三角行数gt;:");
scanf("%d",n);
}
for(i=1;ilt;n;i++)//第一层循环i决定第几行
{
for(j=1;jlt;=i;j++)//第二层循环借用i限制每行字符数目
{
alt;igt;[j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=1;ilt;n;i++)//一个for循环逐行打印叫a的二维数组
{
for(j=1;jlt;=i;j++)
printf("%5d",alt;igt;[j]);
printf("\n");
}
return 0;
用递归的方法打印杨辉三角形的php程序打印文件,图形要改平面图,GIF,Flash一类的无法打印,文字的使用文本文档来整理,文字和图片一起的用写字板来整理.只要连接打印机,每个图表框都有打印项目.无法打印的话是没安装驱动程系.
fro语句里面不能嵌套多个if语句吗?这是因为当 $j==0 时,有可能同时 $i>$j ,而你的第一段代码中的三个if是并列关系,当判断完 $j==0 后,会再次判断 $i>$j ,这样最终就会执行第三个if中的代码,这样就出错了。
if (条件1) {
语句1
}
if (条件2) {
语句2
}
if (条件3) {
语句3
}
以上这种写法,程序会逐个判断三个条件,只要条件成立,就会执行其中的语句,也就是说如果三个条件都成立,那么三个语句都会执行。
if (条件1) {
语句1
} else if (条件2) {
语句2
} else if (条件3) {
语句3
}
而以上这种写法,程序也会逐个判断三个条件,但只要有某个条件成立,程序在执行完其中语句后就会退出整个if语句,后面的条件都不再判断了,也就是说,即使三个条件都成立,也只会执行语句1,剩下的语句2和语句3是不会执行的。
编写程序打印以下的杨辉三角形public static void main(String[] args) {
textYH yang = new textYH();
yang.printYanghuiTriangle(5);
}
/**
* 生成指定行数的杨辉三角形
*
* @param lines 杨辉三角形的行数
*/
public void printYanghuiTriangle(int lines) {
if(lines < 1) {
throw new IllegalArgumentException("lines must be great than 0.");
}
if(lines > 30) {
throw new IllegalArgumentException("lines is too big.");
}
int[] line = new int[lines];
int maxLen = getMaxLen(lines);
for(int i = 0; i < lines; i++) {
line[0] = line[i] = 1;
for(int j = 1, k = i / 2, pre = line[0]; j <= k; j++) {
int cur = line[j];
line[i - j] = line[j] += pre;
pre = cur;
}
printLine(line, i + 1, maxLen);
}
}
/**
* 根据指定行数的杨辉三角形,计算其中最大数字的长度
* @param lines 杨辉三角形的行数
* @return 最大数字的长度
*/
private int getMaxLen(int lines) {
int k = lines / 2;
long maxNum = factorial(k + 1, lines - 1) / factorial(1, lines - 1 - k);
return getLength(maxNum);
}
/**
* 阶乘计算
* @param start 阶乘计算的起始数字
* @param num 阶乘计算的终止数字
* @return 阶乘计算结果
*/
private long factorial(int start, int num) {
long result = start > 0 ? start : 1L;
while(num > start) {
result *= num--;
}
return result;
}
/**
* 根据指定数字计算数字的长度
* @param num 数字
* @return 数字的长度
*/
private int getLength(long num) {
int len = 0;
while(num > 0L) {
num /= 10L;
len++;
}
return len;
}
private void printLine(int[] yanghui, int line, int width) {
printSpaces((yanghui.length - line) * width);
for(int i = 0; i < line; i++) {
if(i > 0) {
printSpaces(width);
}
printSpaces(width - getLength(yanghui[i]));
System.out.print(yanghui[i]);
}
System.out.println();
if(width > 1) {
System.out.println();
}
}
private void printSpaces(int spaceCount) {
for(int i = 0; i < spaceCount; i++) {
System.out.print(" ");
}
}
Python杨辉三角怎么打出两个三角形,菱形,或者左右连个,上下两个?要使用 Python 中的杨辉三角形打印两个三角形、一个菱形或三角形和菱形的组合,可以使用嵌套的 for 循环和条件语句。下面是一个示例:
在此代码中,该函数用于为第一个三角形生成从 1 到的数字序列,为第二个三角形生成从 1 到 1 的数字序列。然后,使用两个嵌套的 for 循环遍历三角形的行和列,并使用公式打印杨辉三角形中的数字。打印每个三角形中的数字后,打印换行符range()nnint(bin(i-1)[2:][::-1][j-1])
回答不易望请采纳
关于如何用php打印杨辉三角的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于如何用php打印杨辉三角 打印杨辉三角java代码的详细内容...