Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Reska
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 249
1

Как улучшить код?

24.11.2016, 21:36. Просмотров 206. Ответов 5
Метки нет (Все метки)

Как улучшить?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
static double Power(double x, int y)
        {
            double b = x;
            double c;
            int n = 1;
            do
            {
                c = b * x;
                b = c;
                n++;
            }
            while (n < y);
            return b;
        }
        static void Main(string[] args)
        {// S=x + (x^3)/3! + (x^5)/5! + ... + (x^(2n+1))/(2n+1)! + ...; 
            Console.Write("введите x:");
            double x = double.Parse(Console.ReadLine());
            double e = 0.8;
            double sum = 0;
            double itog = 0;
            int i = 1;
            double fact = 1;
 
            do
            {
                var r = Power(x, 2 * i + 1);
                fact *= 2 * i + 1;
                sum = r / fact;
                itog += sum;
                i++;
            }
            while (sum > e);
            Console.WriteLine(itog);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2016, 21:36
Ответы с готовыми решениями:

Как улучшить код?
В Main() код для вызова функции У меня есть много классов которые должны...

Системная информация - как улучшить код?
Проблема в том что выходит слишком много foreach, как всё это можно сократить?...

Адресная книга в консоли - как улучшить приложенный код
Вот задание: Во всех вариантах предусматривается вначале создание какого-то...

Улучшить код разбора аргументов
Разрабатываю программу, и не хочу использовать костыли и говнокод, но делая...

Улучшить код с кучей ветвлений
Доброго времени суток, форумчане! Есть вариант написания подобной логики без...

5
HenryDukart
124 / 124 / 44
Регистрация: 05.10.2013
Сообщений: 457
Завершенные тесты: 2
24.11.2016, 21:55 2
Reska,

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
 
namespace FirtsApp
{
    class Program
    {
 
        static void Main(string[] args)
        {
            // S = x + (x^3)/3! + (x^5)/5! + ... + (x^(2n+1))/(2n+1)! + ...
 
            double x = double.Parse(Console.ReadLine());
            double eps = 0.001, tmp = x, sum = tmp;
            int n = 1;
 
            do
            {
                n += 2;
                tmp *= x * x / n;
                sum += tmp;
            } while (Math.Abs(tmp) > eps);
 
            Console.WriteLine(sum);
 
        }
    }
 
}
1
Reska
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 249
24.11.2016, 22:04  [ТС] 3
Цитата Сообщение от HenryDukart Посмотреть сообщение
tmp *= x * x / n
Вычисляется просто, а не факториал (3, а не 3!)
0
Diamante
1271 / 1026 / 650
Регистрация: 14.08.2016
Сообщений: 3,556
Завершенные тесты: 1
24.11.2016, 22:08 4
C#
1
2
3
4
5
do
            {
                tmp *= x * x / (n++)/(n++);
                sum += tmp;
            } while (Math.Abs(tmp) > eps);
0
Reska
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 249
24.11.2016, 23:23  [ТС] 5
Цитата Сообщение от Diamante Посмотреть сообщение
(n++)/(n++);
объясните пожалуйста

Добавлено через 1 час 3 минуты
на второй итерации же будет деление на 20 если правильно понимаю
0
Diamante
1271 / 1026 / 650
Регистрация: 14.08.2016
Сообщений: 3,556
Завершенные тесты: 1
25.11.2016, 00:40 6
неправильно, n++ значит прибавить 1 на каждой итерации
попробуйте запустить проект в режиме "шаг за шагом" aka F11 и посмотрите что происходит...
а еще почитайте что есть ++, до кучи почитайте приоритеты африметичеких операций в шарпе
1
25.11.2016, 00:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2016, 00:40

Отзывчивость ПО. Как улучшить?
Есть программка, постепенно дополнялась и сейчас некоторые операции (в основном...

Как можно улучшить уровень С#?
Bazile, посоветуйте как можно улучшить уровень С#? я читал просиза, дубцова....

Как можно улучшить имеющийся консольный калькулятор
как можно улучшить ? что можно нового добавить? в целях изучение языка:) и как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru