Operação IterateThroughCartesianProduct
Aviso
Esta documentação refere-se ao QDK Clássico, que foi substituído pelo QDK Moderno.
https://aka.ms/qdk.api Veja a documentação da API para o QDK Moderno.
Espaço de nomes: Microsoft.Quantum.Canon
Pacote: Microsoft.Quantum.Standard
Aplica uma operação para cada índice no produto cartesiano de vários intervalos.
operation IterateThroughCartesianProduct (bounds : Int[], op : (Int[] => Unit)) : Unit
Description
Aplica iterativamente uma operação para cada elemento do produto cartesiano de 0..(bounds[0] - 1)
, 0..(bounds[1] - 1)
, ..., 0..(bounds[Length(bounds) - 1] - 1)
Entrada
bounds: Int[]
Uma matriz que especifica os intervalos a iterar, com cada intervalo a ser especificado como um comprimento inteiro.
op: Int[] =>Unit
Uma operação a ser chamada para cada elemento do produto cartesiano especificado.
Saída: Unidade
Exemplo
Tendo em conta uma operação op
, os dois fragmentos seguintes são equivalentes:
IterateThroughCartesianProduct([3, 4, 5], op);
op([0, 0, 0]);
op([1, 0, 0]);
op([2, 0, 0]);
op([0, 1, 0]);
// ...
op([0, 3, 0]);
op([0, 0, 1]);
//
op([2, 3, 4]);