Как написать этот код C ++ в Apple Dylan - PullRequest
4 голосов
/ 24 января 2012

Я новичок в компьютерном программировании.Мне нужна помощь с этой задачей.Мне нужно преобразовать этот простой исходный код C ++ в код Apple Dylan.Это оригинальное математическое утверждение:

Task: Input an integer number n and output the sum: 1+22+32+...+n2. Use input validation for n to be positive.

Я написал этот код на C ++:

#include <iostream>
using namespace std;

int main()
{
    int n;
    cin >> n;
    if (n < 0) return 1;
    int sum = 0;
    int i = 0;
    while (i <= n) sum += i*i;
    cout << sum;
    return 0;
}

Может кто-нибудь помочь мне написать этот код в apple dylan?

С наилучшими пожеланиями, Пол

1 Ответ

3 голосов
/ 24 января 2012

Вот рекурсивное решение:

define method sumSquaresFromOne(n :: <integer>)
  if (n = 1)
    1
  else
    n *n + sumSquaresFromOne(n - 1)
  end
end method;

(Очевидно, что может быть полезна некоторая проверка для n <1.) </p>

Чтобы запустить метод, вы должны выполнить команду:

format-out("%d", sumSquaresFromOne(5))

Вывод которого будет "55" (1 + 4 + 9 + 16 + 25).

Вы можете создать метод main следующим образом:

define method main(appname, #rest arguments)
  format-out("Input an integer number n:")
  let n = read-line(*standard-input*)
  format-out("Sum of squares from t to %d is %d\n", n, sumSquaresFromOne(n))
  exit(exit-code: 0);
end method;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...