Skum uppgift i C#, representera flera int med en int.
Hej Swec!
Har lite labbar i skolan, har gjort alla delmoment och ett utav de två extramomenten, momentet lyder följande:
An even more compact representation (extra)
Imagine a situation where you know that a set will only ever contain values from a limited set of
possible values. Say that the set will only contain any of the values 7, 42, 99, 10004 or 4234998. In
this special case, the set could be represented very compactly as follows. Let the set be internally
represented by a single integer value. This single value is either 0, which means that the set is empty,
or it has 1s at different positions indicating what values are included in the set. Some examples:
00000: the set is empty.
00001: only 7 is included.
00010: only 42 is included.
00101: 99 and 7 are both included.
10111: all values except 10004 are included.
Write yet another implementation of IIntSet that uses this representation. Note that it is an error
to try to insert values other than 7, 42, etcetera, so Add() should throw an exception in such cases.
Jag har klurat på denna en längre stund och kan inte se något sätt att lösa detta på ett dynamiskt sätt utan att behöva spara varje tal som man tänkt sig att man ska få addera. Uppgiftens tanke är ju dock enligt starten att man bara ska representera talföljden med en integer och på det sättet spara datamängd, men hur vet man vilka siffror man får representera utan att spara dem lokalt och på så sätt redan ta upp minne för alla tänkbara siffror?
Vill inte att någon ska lösa uppgiften åt mig direkt men om någon vet hur man gör så får denne gärna ge en puff i rätt riktning
//2infinity