Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Учу язык Фортран
Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2733
Благодарности: 1698

Профиль | Отправить PM | Цитировать


Нашел в закромах MS FORTRAN Optimizing Compiler v.5.00 от 1989 года
Моё первое, подправленное решение
Код: Выделить весь код
      LOGICAL L
      N=95443536

      DO 1 I=3,N
      L=N.NE.(I-2)*(I-1)*I
      IF (L) GO TO 1 
      PRINT 101,N,I-2,I-1,I
      GO TO 100
    1 CONTINUE
      PRINT 102

  100 STOP
  101 Format(1X,I8,'=',I3,'*',I3,'*',I3)
  102 Format(1X,'Решения нет')
      END
Более эффективно искать решение около корня кубического исходного числа, строго математически доказать не берусь, интуитивно вроде бы понятно, что решение единственное, если оно существует
Код: Выделить весь код
      LOGICAL L
      N=95443536

      I=N**0.3333333333333333

      L=N.EQ.I*(I+1)*(I+2)

      IF (L) PRINT 101,N,I,I+1,I+2
      IF (.NOT.L) PRINT 102

  100 STOP
  101 Format(1X,I8,'=',I3,'*',I3,'*',I3)
  102 Format(1X,'Решения нет')
      END
Под руками нет книжонки подсмотреть If-Then-Else

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 08-07-2011 в 11:15.


Отправлено: 16:07, 06-07-2011 | #11

Название темы: Учу язык Фортран