快速创建乘法表

时间:2018-12-13 10:43:10

标签: swift for-loop

这里是个初学者。我已经在一个问题上停留了一段时间。在操场上练习,我需要做一个乘法口诀表。 基本上,如果我输入3,我想读取表

1 2 3
2 4 6
3 6 9

我对此感到困惑。有什么帮助吗?

到目前为止的代码

var x = 3
var width = 1

for x in 1...x {
    for width in 1...width {
        print(x, width*2)
    }
}

此代码打印

1 2
2 2
3 2

3 个答案:

答案 0 :(得分:3)

您可以这样做。

<table mat-table [dataSource]="dataSourceVaccinations" matSort>
  <ng-container matColumnDef="Gender" sticky>
     <th mat-header-cell *matHeaderCellDef mat-sort-header></th>
        <td mat-cell *matCellDef="let GetSummaryRecordsVaccinations">
          <img [attr.src]="getGenderIcon(Gender)" />
        </td>
     </ng-container>
     <ng-container matColumnDef="IdentityNumber" sticky>
       <th mat-header-cell *matHeaderCellDef mat-sort-header> מס' זהות </th>
         <td mat-cell *matCellDef="let GetSummaryRecordsVaccinations" > {{IdentityNumber}} </td>
     </ng-container>
     <ng-container matColumnDef="CodeVaccinationsAllowed">
        <th mat-header-cell *matHeaderCellDef mat-sort-header> ניתן לחסן סיכום </th>
              <td *matCellDef="let GetSummaryRecordsVaccinations">
                <img [attr.src]="getIcon(CodeVaccinationsAllowed)"/> </td>
     </ng-container>
     <ng-container matColumnDef="שפעת">
        <th mat-header-cell *matHeaderCellDef> שפעת </th>
              <td mat-cell *matCellDef="let GetSummaryRecordsVaccinations">
                <div class="center">{{ClassDescription}}
                  <br/>{{VaccinationDate | date:'dd/MM/yyyy'}}
                </div>
              </td>
      </ng-container>
      <tr mat-header-row class="mat-row-header-vaccination" *matHeaderRowDef="displayedVaccinationsAllColumns; sticky:true"></tr>
            <tr mat-row class="mat-row-vaccination" *matRowDef="let row; columns: displayedVaccinationsAllColumns;" (click)="selection.select(row)"></tr>
  </table>

输出

func multiplicationTable(till limit: Int) {
    for i in 1...limit {
        for j in 1...limit {
            print(i * j, terminator: "\t")
        }
        print("")
    }
}

multiplcationTable(till: 5)

答案 1 :(得分:2)

如果简洁至高无上:

let x = 3
let range = 1...x
for i in range {
    print(range.map { String(i * $0) }.joined(separator: "\t"))
}

答案 2 :(得分:0)

您可以将乘法表存储在Int的2D数组中。首先,您可以使用从1到乘法表大小的数字填充第一行和第一列。然后,对于剩下的空白位置的每个元素,只需要将该元素所在的同一行的第一个元素和同一列的第一个元素相乘即可。

func multiplicationTable(ofSize n:Int) -> [[Int]] {
    var table = Array(repeating: Array(repeating: 0, count: n), count: n)
    table[0] = Array(1...n)
    for i in 1..<n {
        table[i][0] = i+1
        for j in 1..<n {
            table[i][j] = table[i][0] * table[0][j]
        }
    }
    return table
}

multiplicationTable(ofSize: 5).forEach { row in
    print(row,"\n")
}

输出:

  

[1、2、3、4、5]

     

[2,4,6,8,10]

     

[3,6,9,12,15]

     

[4、8、12、16、20]

     

[5,10,15,20,25]