牛客网基础题:我是大v
思路:
- 因为给定输出,因此直接使用print语句格式输出即可,注意转义字符’\n‘的使用。
public class Main{
public static void main(String[] args){
System.out.print("v v\n");
System.out.print(" v v\n");
System.out.print(" v\n");
}
}
- 仔细观察,发现其中还有一定的规律。
使用两重循环,外层循环控制输出行数,内层控制每行输出内容。其中,每行输出的字符总数是相等的,等于2n-1,有对称的规律。再仔细观察,可以总结发现,每行输出的’v‘的位置固定,且与行号有关。比如:第一行是1位置和2n-1,第二行是2位置和2*n-1-1,
因此可以写出代码如下:
```java
public class Main{
public static void main(String[] args){
veryImport(3);
}
public static void veryImport(int n){
for(int i=0;i<n;i++){
int left=0;
int right=2*n-1-1;
left+=i;
right-=i;
for(int j=0;j<2*n-1;j++){
if(j==left||j==right)
System.out.print("v");
else
System.out.print(" ");
}
System.out.print("\n");
}
}
}
输出结果:
v v
v v
v