Okay, maybe you can help me come up with a problem. I can feel it coming on, so here is where I am going:
A trick for pricing things for negotiation is to hide the price encoded. One of the ways of doing this is using a 10 letter isogram such as "upholstery" to convert 0=u, 1=p, 2=h...9=y. So then you could mark a tag or sticker with Tly for $6.49 (with the capitols for dollars and the lower case for cents) Alternatively, you could have an asking price and hide a lowest taking price TlyLuu Meaning that you could ask 6.49 but settle for 4.00. This way someone else could negotiate with the customers, from the person that set the prices.
So writing a program should be unnecessary, the reason for using the isogram is to make it easy to remember and figure it out simply.
So how hard would a program to do this be? Ideas?
@Absinthe
Just spitballing here. Maybe a program to further obfuscate prices by generating sequences of isograms so buyers wouldn't be able to guess what letters mean over time, since different items would be hidden by different isograms and the encoded price has an additional signifier for which one it's encoded with? Then like a weird constraint like the first letter of each word used spells something out or something?
@serra that just begs for a rick roll :) I was thinking something more like encoding with one word, and then switch the letters around in the word and effect a 15, 20, 30% discount. Or something like that.
@Absinthe
hehe, I like that idea better
@Absinthe
I'm not entirely sure I understand the original problem... An item would have a name then a encoded code and the encoded code along with the name can be used to decide some pricing info. Is that it? But what if the name has fewer than 10 letters. Since there isn't a letter for every number how is that handled?
@serra
what I was thinking was something like using the word "ABCDEFGHIJ" to encode a price BAjj as 10.00 if I were to change the word to "BCDEFGHIJA" then decoded the same price it would be $09.99.
I wonder if there is a system whereby encoding with one word, and decoding with another would be capable of effecting a change of some reasonable % like 10%, 15%, 35%.
I kind of thought you would have to change bases like base(*) or something, or if you had a pair of numbers that would be multiiplied or otherwise functionally modified. The problem being that you only have 10 numbers to play with.
I am not saying it is possible, but it seems like you could do it. I don't have a problem just trying to make one. Otherwise I don't have a real problem for this week yet. :)
The base premise is that you would have picked a word you could remember like "UPHOLSTERY" then you would be able to look at the sticker and see Yyy and know it was 9.99 without having to have a decoder ring and calculator :)
But as a coding problem I am moving away from that and letting a computer do all the work. With that in mind just wondering if I could simply change the letters around to accomplish an overall discount or markup. Hey, it might not be possible, but it sounded like it should be.
(This is starting to remind me of my "Death of a Salesman" interview question fiasco :) remind me to tell you that story some time)
Ok so i thought about it. If there is a single word and that word is always garunteed to be exactly 10 letters, one for each digit from 0 - 9, then no, this isnt possible.
If you allow for words larger than 10 letters such that multiple letters associate with the same digit then it could be possible if there were some rules around which letters were used in a particular item's sku. After all if we have the number of products multiplied by 10 and that is the number of letters int he original word then you'd have enough letters for each product to have its own independent mapping, so in this extreme case it would be possible.
The question is, what sort of interesting solutions or puzzles may like between these two cases.
@freemo @serra what I was thinking might be that if you set the prices using base 8 then you would have two letters left over so in the previous example a-h could be the only numbers used in the actual base price and i and j 8 and 9 could indicate whether or not to apply a consistent discount. best case you could have 89 meaning that rest of the price is standard and 98 means divide for a x% discount. I think that would be doable. Then if you could represent it with base 5 or 6 you would have 4 or 5 letters left over to have a modifier. I think it is a doable math issue once solved would make for some interesting "word" choice problems with fun meaningful anagrams.
@freemo @serra not necessarily, the isogram will do 0-9 but you only use 0 to base-1 for your price then use the permutations of base to 9 for your modifier. So the price part WOD simply get calculated according to its base. Then the modifier would be calculated as a value based on permutation like 6789 = 1 to 9876 = 24 which could be arbitrary multipliers or divisors of the price.
@Absinthe
I know what you meant but you previously dictated the sku themselves as in base 10 so it breaks the rules allowing ty to define the skew however you wish now
@serra