Diskuze: Transformace řady čísel
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 6 zpráv z 6.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Pokud nepotřebuješ na výstupu taky tříciferné číslo, tak můžeš zkusit XOR.
const int XOR = 101;
static int ToX(int i) => i ^ XOR;
static int FromX(int x) => x ^ XOR;
Myslím, že by to mohlo fungovat. Místo 101 můžeš zkusit dát jiné číslo.
Ukázka:
895 -> 785 -> 895
896 -> 1006 -> 896
897 -> 1007 -> 897
898 -> 1004 -> 898
899 -> 1005 -> 899
900 -> 1002 -> 900
901 -> 1003 -> 901
902 -> 1000 -> 902
903 -> 1001 -> 903
904 -> 998 -> 904
905 -> 999 -> 905
906 -> 996 -> 906
907 -> 997 -> 907
908 -> 994 -> 908
909 -> 995 -> 909
910 -> 992 -> 910
911 -> 993 -> 911
912 -> 1022 -> 912
913 -> 1023 -> 913
914 -> 1020 -> 914
915 -> 1021 -> 915
916 -> 1018 -> 916
917 -> 1019 -> 917
918 -> 1016 -> 918
919 -> 1017 -> 919
920 -> 1014 -> 920
921 -> 1015 -> 921
922 -> 1012 -> 922
923 -> 1013 -> 923
924 -> 1010 -> 924
925 -> 1011 -> 925
926 -> 1008 -> 926
927 -> 1009 -> 927
928 -> 974 -> 928
929 -> 975 -> 929
Díky za řešení s XOR. Je zajímavé, ale potřeboval bych to mít více z
přeházené. Pořád je to více méně řada 
Možná jsem na jiný sjezdovce, ale napadlo mě, co třeba zkusit k tomu původnímu číslu něco přičíst (popř. ještě i něco odečíst) a ve výsledku pak zobrazit číslice v obráceném pořadí?
Generování dat se může dost prodloužit, když zvětšíš max...
class Program
{
const int seed = 42;
const int min = 1;
const int max = 999;
static Dictionary<int, int> data;
static int ToX(int i) => data.First(d => d.Value == i).Key;
static int FromX(int x) => data[x];
static void Main(string[] args)
{
var random = new Random(seed);
data = new Dictionary<int, int>();
for (int i = min; i < max + 1; i++)
{
while (true)
{
var x = random.Next(min, max + 1);
if (!data.ContainsKey(x))
{
data[x] = i;
break;
}
}
}
for (int i = min; i < max + 1; i++)
{
var x = ToX(i);
var j = FromX(x);
Console.WriteLine($"{i,4} -> {x,4} -> {j,4}");
}
}
}
Teď jsem si uvědomil, že je to docela neefektivní. Ale aspoň nějaká myšlenka se z toho dá vzít a můžeš to zkusit napsat líp..
Zobrazeno 6 zpráv z 6.