{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "be381754-3b46-4bfa-99fb-315dfbbbd7a3",
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit import QuantumCircuit, QuantumRegister\n",
    "from qiskit_ibm_runtime import QiskitRuntimeService\n",
    "service = QiskitRuntimeService.save_account(channel=\"ibm_quantum\", token=\"HIER IHR TOKEN EINSETZEN\", set_as_default=True, overwrite=True)\n",
    "from qiskit.providers.basic_provider import BasicSimulator\n",
    "backend = BasicSimulator()\n",
    "\n",
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "9264f163-3b2f-4fef-a81b-93b392109aa5",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Uf(qubits,f):\n",
    "    if (f[0]==0 and f[1]==0):\n",
    "        return qubits    \n",
    "    elif (f[0]==1 and f[1]==1):\n",
    "        qubits.x(1)\n",
    "        return qubits    \n",
    "    elif (f[0]==0 and f[1]==1):\n",
    "        qubits.cx(0,1)\n",
    "        return qubits    \n",
    "    elif (f[0]==1 and f[1]==0):   \n",
    "        qubits.x(0)\n",
    "        qubits.cx(0,1)\n",
    "        qubits.x(0)\n",
    "        return qubits    \n",
    "    return qubits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f45cee2f-d25f-4128-85bd-c835f6abca57",
   "metadata": {},
   "outputs": [],
   "source": [
    "f=[random.randint(0,1) for _ in range(2)]\n",
    "#f=[1,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "414213c8-29b1-4c69-bb42-658fb1c251e7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<qiskit.circuit.instructionset.InstructionSet at 0x172f3b103d0>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "circuit = QuantumCircuit(2,1)\n",
    "circuit.x(1)\n",
    "circuit.barrier()\n",
    "circuit.h(0)\n",
    "circuit.h(1)\n",
    "circuit.barrier()\n",
    "Uf(circuit,f)\n",
    "circuit.barrier()\n",
    "circuit.h(0)\n",
    "circuit.measure(0,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ed10901c-553f-4830-8c27-2767c90b9663",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'0': 1024}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "erg = backend.run(circuit, shots=1024).result()\n",
    "erg.get_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ecfb7724-6fdb-4571-8d4e-650b896dc5af",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 1]\n"
     ]
    }
   ],
   "source": [
    "print(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8460862c-676c-4df1-8854-4fe56077ddc8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 788.961x284.278 with 1 Axes>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "circuit.draw('mpl')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a83a0bfa-6c5a-432c-a8e4-6dc02a637942",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
