您如何打印顺序为1、1、2、2、3,... n ns的序列?

时间:2019-06-26 02:53:34

标签: java loops logic

编写一个打印部分序列的程序:

1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 ...

(该数字重复多次,直到等于)。

我使用了两个for循环,但是我不能让1打印一次,而不能让2打印两次,相反,我得到

1 2 3 4 5 6 1 2 3 4 5 6, etc.

3 个答案:

答案 0 :(得分:4)

为此您需要两个for循环。

export const BottomTabNavigator = createBottomTabNavigator({
    services: ServicesNavigator,
    account: AccountScreen,
  },
  {
    defaultNavigationOptions: () => {
      tabBarIcon: () => <Icon name="ios-build" type="Ionicon" size={10} />
    },
  },
})

答案 1 :(得分:0)

这如何:

for (int i = 0; i <= 5; i++) { // This will loop 5 times
    for (int j = 0; j < i; j++) { //This will loop i times
        System.out.print(i);
    }
}

其中,num = 1,2,.... n

(此外,除非您附加代码,否则我们将无法告诉您为什么的输出。请为此类问题附加代码段:)!

答案 2 :(得分:0)

  

我记得我的目标是打印n个数字(例如n = 7的1 2 2 3 3 3 4),并按空格分隔。对不起,我的java))是我在Kotlin编写的,试图将其更改为Java,但主要思路很明确。 BTW n –您需要使用Scanner读取的元素数。

int count = 0 //Idea is to create a counter, and to increment it each time of printing

for (int i = 0; i <= n; i++) { //Loops n times
    for (int j = 0; j < i; j++) { //Loops i times
        if (int count < int n) {
        System.out.print(" "+i+" ");
        int count++ //Prints 1 one time, 2 two times, etc. stops if reached n number
        }
    }
}