@russrage
Я

Массив степеней двойки на С#, правильно ли сделал?

Код работает, интересна оптимизация.

using System;

class ArrayTwo
{
    static void Main()
    {
        int size = 11;
        int k = 1;
        int[] nums = new int[size];
        for (int i = 0; i < nums.Length; i++)
        {
            nums[i] = k;
            Console.WriteLine(nums[i]);
            k += k;
        }
        Console.ReadKey();
    }
        
        
}
  • Вопрос задан
  • 288 просмотров
Пригласить эксперта
Ответы на вопрос 2
@BashkaMen
C# программист
Вот мой вариант

var size = 10;
var nums = Enumerable.Range(1, size).Select(s => Math.Pow(2, s)).ToArray();
Ответ написан
Комментировать
Neikist
@Neikist
Бывший 1сник, теперь пишу под андроид
Конкретно для степеней именно двойки можно на битовые сдвиги посмотреть. Сдвиг влево по сути ведь умножение на 2. Хотя сомневаюсь что выигрыш будет какой то.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы