How to print the triangle below:
2 3 5 8 3 8
4 6 9 4 9
7 1 5 1
2 6 2
7 3
4
First you need to start with number 2 and add one to the next one vertically
My code:
int d = 2, n = 6;
for (int line=1; line <= n; line++ ) {
for (int j = 2; j <= line; j++) {
System.out.print(" ");
}
for (int k = line; k <= n; k++) {
System.out.print(d + " ");
d = d + k;
if (d > 9) {
d = d - 9;
}
}
System.out.println();
}
Result:
2 3 5 8 3 8
5 7 1 5 1
7 1 5 1
7 2 7
4 9
6
The pattern is that the value of d
has to be calculated initially on every new line based on the value of d
in the first instance of the previous line . That is the part that's missed here. You can do that by having a temp variable store the initial value of d
on every line and print based on that. I have used a variable tempD
here, which can help print the pattern that you require.
int d = 2, n = 6;
int tempD = d - 1;
for (int line = 1; line <= n; line++) {
tempD = tempD + line;
if (tempD > 9) {
tempD = tempD - 9;
}
d = tempD;
for (int j = 2; j <= line; j++) {
System.out.print(" ");
}
for (int k = line; k <= n; k++) {
System.out.print(d + " ");
d = d + k;
if (d > 9) {
d = d - 9;
}
}
System.out.println();
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.