Neckbeardicus
12.05.2022 16:11

Написать программу, которая вычисляет произведение первых n членов ряда 1, 3, 5, 7,… Количество членов ряда задается во время работы программы (используя цикл с параметром).

Решить задачу эту задачу используя цикл с предусловием.
Решить задачу эту задачу используя цикл с постусловием.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ник5047
16.08.2021 07:21

Так, можем найти общие данные, которые нам в любом случае понадобятся для обоих пунктов:

I = 128 Кбайт = 1048576 бит

x = 640 * 320

Всё, теперь начинаем пункт а):

N = 16

N = 2^{i}

i = 4

Рассчитаем объем одной страницы:

I(1) = x * i = 640 * 320 * 4 = 819200 бит (объем 1 страницы)

Посмотрим сколько страниц влезет:

1048576 / 819200 = 1.28 = 1 страница (округляем в меньшую сторону, так как у нас тупо не хватит места, если мы округлим в большую)

Пункт б):

N = 256

N = 2^{i}

i = 8

I(1) = x * i = 640 * 320 * 8 = 1638400 бит (объём 1 страницы)

1048576 / 1638400 = 0.64 = 0 страниц (опять же, не хватит нашего объема для хранения даже 1 страницы)

0,0(0 оценок)
Ответ:
попаоп
22.10.2022 07:53
// F#
open System
let anyNumberSymbol = "?"
let replaceSymbolOnIndex (str:string) (number:int) (index:int) =
    String.Format("{0}{1}{2}", str.Substring(0, index), number, str.Substring(index+1))
let rec getAllValues (valueStr:string) =
    let index = valueStr.IndexOf(anyNumberSymbol)
    if index > -1
        then
            let newStrings =
                [0..9]
                |> Seq.map (fun x -> replaceSymbolOnIndex valueStr x index)
            newStrings |> Seq.collect (fun x -> getAllValues x)
        else
            [valueStr] |> List.toSeq 
let getResults (numbers:string list) =
     List.nth numbers 0
        |> getAllValues
        |> Seq.map (fun firstNumber ->
              List.nth numbers 1
                |> getAllValues
                |> Seq.map (fun secondNumber ->
                      List.nth numbers 2
                        |> getAllValues
                        |> Seq.map (fun resultNumber ->
                            if Int32.Parse(firstNumber) + Int32.Parse(secondNumber) = Int32.Parse(resultNumber)
                                then [String.Format("{0} + {1} = {2}", firstNumber, secondNumber, resultNumber)]
                                else []
                        )
                        |> Seq.collect (fun x -> x)
                )
                |> Seq.collect (fun x -> x)
        )
        |> Seq.collect (fun x -> x)
        |> Seq.toArray
[<EntryPoint>]
let main argv =
    let inputString = System.Console.ReadLine()
    let numbers = inputString.Split('+', '=') |> Array.map (fun x -> x.Trim())
    if numbers.Length = 3
        then
            let results = getResults (numbers |> Array.toList)
            if results.Length > 0
                then Console.WriteLine(results |> Seq.fold (fun result x -> result + "\n" + x) "")
                else Console.WriteLine("No results")
            Console.ReadKey(true) |> ignore
            0
        else
            1
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота