import static java.
lang.
Math.
sin; import static java.
lang.
Math.
PI; import static java.
lang.
Math.
abs;
class Sine {
private static Integer points
= 30; // points on x and y axis
public static void main
(String[] args
) {
// contains graph points
for (Double x
= 0.0; x
<= points
; x
++) { // x axis pi value
Double pi
= (x
/ points
) * 2 * PI
; // sin(x) plot for x
Integer sinx
= (int) Math.
round((sin
(pi
) * points
/ 2) + points
/ 2); graph[sinx][x.intValue()] = true;
}
for (Integer i
= 0; i
<= points
; i
++) { for (Integer j
= 0; j
<= points
; j
++) {
// space characters on x axis
// padding for p
String p
= String.
format("%0" + (pt
) + "d", abs
(i
- points
/ 2) * 2);
System.
out.
print(graph
[i
][j
] != null ? p
: space
); }
}
}
}
aW1wb3J0IHN0YXRpYyBqYXZhLmxhbmcuTWF0aC5zaW47CmltcG9ydCBzdGF0aWMgamF2YS5sYW5nLk1hdGguUEk7CmltcG9ydCBzdGF0aWMgamF2YS5sYW5nLk1hdGguYWJzOwoKY2xhc3MgU2luZSB7CgoJcHJpdmF0ZSBzdGF0aWMgSW50ZWdlciBwb2ludHMgPSAzMDsgLy8gcG9pbnRzIG9uIHggYW5kIHkgYXhpcwoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCgkJLy8gY29udGFpbnMgZ3JhcGggcG9pbnRzCgkJQm9vbGVhbltdW10gZ3JhcGggPSBuZXcgQm9vbGVhbltwb2ludHMgKyAxXVtwb2ludHMgKyAxXTsKCgkJZm9yIChEb3VibGUgeCA9IDAuMDsgeCA8PSBwb2ludHM7IHgrKykgewoJCQkvLyB4IGF4aXMgcGkgdmFsdWUKCQkJRG91YmxlIHBpID0gKHggLyBwb2ludHMpICogMiAqIFBJOwoJCQkvLyBzaW4oeCkgcGxvdCBmb3IgeAoJCQlJbnRlZ2VyIHNpbnggPSAoaW50KSBNYXRoLnJvdW5kKChzaW4ocGkpICogcG9pbnRzIC8gMikgKyBwb2ludHMgLyAyKTsKCQkJZ3JhcGhbc2lueF1beC5pbnRWYWx1ZSgpXSA9IHRydWU7CgkJfQoKCQlmb3IgKEludGVnZXIgaSA9IDA7IGkgPD0gcG9pbnRzOyBpKyspIHsKCQkJZm9yIChJbnRlZ2VyIGogPSAwOyBqIDw9IHBvaW50czsgaisrKSB7CgoJCQkJLy8gc3BhY2UgY2hhcmFjdGVycyBvbiB4IGF4aXMKCQkJCUludGVnZXIgcHQgPSAoaW50KSBNYXRoLmZsb29yKE1hdGgubG9nMTAocG9pbnRzKSArIDEpOwoJCQkJU3RyaW5nIHNwYWNlID0gU3RyaW5nLmZvcm1hdCgiJSIgKyBwdCArICJzIiwgIiAiKTsKCgkJCQkvLyBwYWRkaW5nIGZvciBwCgkJCQlTdHJpbmcgcCA9IFN0cmluZy5mb3JtYXQoIiUwIiArIChwdCkgKyAiZCIsIGFicyhpIC0gcG9pbnRzIC8gMikgKiAyKTsKCgkJCQlTeXN0ZW0ub3V0LnByaW50KGdyYXBoW2ldW2pdICE9IG51bGwgPyBwIDogc3BhY2UpOwoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJCX0KCgl9Cgp9Cg==