java以倒置的直角打印奇数
我试着取一个数字,然后打印出来,它是奇数,如下所示:
if i take 5 as a number it should give this:
1 3 5
3 5
5
and if i take 9 it should do the same thing:
1 3 5 7 9
3 5 7 9
5 7 9
7 9
9
这就是我到目前为止所拥有的,我被困住了。我无法让5在3之后打印,并以5结束三角形:
public class first{
static void afficher(int a){
for(int i=1;i<=a;i++){
if(i%2!=0){
System.out.printf("%d",i);
}
}
System.out.println();
for(int j=3;j<=a-2;j++){
if(j%2!=0){
System.out.printf("%d",j);
}
}
}
public static void main(String[]args){
afficher(5);
}
}
这张照片是:
1 3 5
3
# 1 楼答案
必须使用嵌套for循环来解决此问题。检查下面的代码
# 2 楼答案
打印的原因如下:
因此,我建议如下:
使用2个嵌套循环(用于通用值):
检查输入的数字是否为奇数
# 3 楼答案
如果你打印一个曲面(因此是2d),人们期望算法在O(n^2)时间复杂度下运行。因此,两个嵌套的
for
通过不检查
if
这个数字是奇数,而是采取2
的步骤,可以稍微优化算法见demo