Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int mod (int a, int b) {
- return (b + a % b) % b;
- }
- int max (int a, int b, int c) {
- if (a < b) {
- if (b < c) {
- return c;
- }
- else {
- return b;
- }
- }
- else {
- if (a > c) {
- return a;
- }
- else {
- return c;
- }
- }
- }
- int min (int a, int b, int c) {
- if (a < b) {
- if (a < c) {
- return a;
- }
- else {
- return c;
- }
- }
- else {
- if (b < c) {
- return b;
- }
- else {
- return c;
- }
- }
- }
- int circle1 (int a, int b) {
- return (a + 10) * (a + 10) + (b + 10) * (b + 10);
- }
- int circle2 (int a, int b) {
- return (a + 20) * (a + 20) + (b + 20) * (b + 20);
- }
- int main() {
- int i,j,l,f;
- int i0 = 6;
- int j0 = 27;
- int l0 = -15;
- i = i0;
- j = j0;
- l = l0;
- f = 0;
- for ( int k = 0; k <= 49; k++ ) {
- // printf("k = %d, i = %d, j = %d\n", k, i, j);
- if ( circle1(i, j) <= 100 && circle2(i,j) <= 100) {
- printf("it's over on step %d, i = %d, j = %d\n", k, i, j);
- f = 1;
- break;
- }
- i = mod ( i0*i0*i0 - j0*j0*j0 + l0*l0*l0 - k, 20);
- j = mod ( min(i0*j0*j0 - k, i0*i0*l0 - k, j0*l0*l0 - k), 30);
- l = mod ( max(i0*j0*j0 - k, i0*i0*l0 - k, j0*l0*l0 - k), 30);
- i0 = i;
- j0 = j;
- l0 = l;
- }
- if (f == 0) {
- printf("NO\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement