弗洛伊德三角形变奏曲

Floyd's triangle variation

本文关键字:变奏曲 三角形 弗洛伊德      更新时间:2023-10-16

所以我必须打印Floyd的三角形,但如下所示:

7
1
2 3
4 5 6
7 * * * 

这是我的代码,我只是不知道如何在最后一行末尾打印*,如果还有空间的话。

#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
  int n;
  cin>>n;
  int br=1;
  for (int i=1;i<=n;i++)
  {
    for(int j=1;j<=i;j++)
    {
      if(br<=n)
        cout<<br<<" ";
      br++;
    }
    if(br<=n)
      cout<<endl;
  }
}    

这是修改后的代码:

#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
  int n, i, j;
  cin>>n;
  int br=1;
  for (i=1;i<=n;i++)
  {
    for(j=1;j<=i;j++)
    {
      if(br>n)
        break;
      cout<<br<<" ";
      br++;
    }
    if(br>n)
      break;
    cout<<endl;
  }
  for(int k = j; k <= i; k++)
  {
    cout<<"* ";
  }
}

注意,在第n行,有第n个数字。所以,对于每一行,你必须计算你已经写下的数字。所以,当你写出你需要的数字时,你已经写出了k个数字。现在,你需要添加n-k星。