Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2013, 15:31   #1
Лина55
Пользователь
 
Регистрация: 25.03.2013
Сообщений: 11
По умолчанию Вычислить y=cos(1+cos(2+...+cos(39+cos(40)... ))

правильное ли решение?
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
          int n = 40;
          double Y = Math.Cos(n);
            for (int i = n, j = 0; i > 0; i--, j++)
            {
                Y = Math.Cos(i + Y);
                Console.WriteLine("Шаг: {0}\nРезультат: {1}\n\n", j+1, Y);
            }
            Console.WriteLine("Результат: " + Y);
            Console.ReadKey();
        }
    }
}

Последний раз редактировалось Stilet; 15.04.2013 в 16:59.
Лина55 вне форума Ответить с цитированием
Старый 15.04.2013, 16:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет. Не правильно. Нужна рекурсивная функция.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.04.2013, 17:04   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Здесь не нужная рекурсия
Вадим Мошев вне форума Ответить с цитированием
Старый 15.04.2013, 17:15   #4
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Не проверяла, но мне кажется, что i = n не правильно, т.к. косинус от n вы уже взяли. Может, i = (n - 1)?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 15.04.2013, 17:16   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Рекурсией имхо проще
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.04.2013, 17:19   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Согласен с ACE Valery - лишний раз считается 40.
Можно так (без j):
Код:
int n = 40;
double Y = 0;
for (int i = 1; i < = n; ++i) {
    Y = Math.Cos(n - i + 1 + Y);
    Console.WriteLine("Шаг: {0}\nРезультат: {1}\n\n", i, Y);
}
Console.WriteLine("Результат: " + Y);
Console.ReadKey();
Цитата:
Сообщение от Stilet Посмотреть сообщение
Рекурсией имхо проще
Проще, но ресурсов больше, скорее всего, нужно.
Да и разворачивание рекурсии в цикл, мне кажется, позиционирует ученика с хорошей стороны, если, конечно, в задании не сказано "напишите рекурсивную функцию"
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 15.04.2013, 18:08   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

http://www.programmersforum.ru/showt...23#post1204723

вот здесь я предложил решение, правда на Паскаль
Вадим Мошев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия. Вычислить рекурсивно функцию вида y=cos(x)+cos(x^2)+cos(x^3)+...+cos( x^n). мария71 Паскаль, Turbo Pascal, PascalABC.NET 4 31.03.2012 23:17
вычислить: У=cos(x)+cos(x)*(x)+ cos(X)*(X)*(X)+...+cos(X)(в n степени) КАША Помощь студентам 20 01.11.2010 17:34
cos(x)+cos(cos(x))+cos(cos(cos(x))) ... Рамакришна Помощь студентам 8 03.11.2009 13:41
Cos(alpha) на СИ++ Рустам Помощь студентам 7 23.11.2008 15:30
Вычислить массив R[1:n] по формуле r[i]=0,8 cos (4ax - ih) ser-stereo Паскаль, Turbo Pascal, PascalABC.NET 1 23.10.2008 22:41