如果我将一个文件的内容到一个单一的大量的和前preSS它作为一个数学EX pression,是否意味着我有COM pressed文件?文件、我有、我将、作为一个

2023-09-11 05:28:05 作者:15.你的优质男友

假设数学EX pression有字符比原来的号码的数量较少。 示例 -

assuming the mathematical expression has less number of characters than the original number. example-

20880467999847912034355032910578可以pssed作为前$ P $(23 ^​​ 23 +10)

20880467999847912034355032910578 can be expressed as (23^23 +10)

这看起来像一个良好的COM pression方法。它将为COM pressing大型文件?

this looks like a good compression method. Will it work for compressing large files?

更新 - 我不是那个意思转换文件成一个大的二进制数。可以说,我有一个文本文件,我替换其中的所有字符的ASCII值。现在我有大量的十进制数字系统。我可以前preSS它作为数学前pression象在上面的例子

UPDATE- i didn't mean converting a file into a large binary number. lets say i have a text file and i replace all the characters in it with their ascii values. now i have a large number in the decimal number system. i can express it as a mathematical expression like in the example above.

推荐答案

如果你把一个文件作为一个大的二进制数的内容,并找到一名前pression其计算该数字的和可存储更紧凑比,那么,你有COM pressed文件,数字本身的

If you take the contents of a file as a large binary number, and find an expression which evaluates to that number and can be stored more compactly than the number itself, then yes, you have compressed the file.

不幸的是,对于大多数的文件,你永远也找不到这样的EX pression。

Unfortunately, for most files, you'll never find such an expression.

简单的逻辑(见张贴@OliCharlesworth的链接)应该说服你,这是不可能找到这样的EX pression全部甚至大部分文件。即使这可能有一个合适的EX pression,发现这将是文件的非常的困难。如果你想说服这一点,试试这个挑战:

Simple logic (see the link posted by @OliCharlesworth) should convince you that it's impossible to find such an expression for all or even most files. Even for files which might have a suitable expression, finding it will be very, very difficult. If you want to convince yourself of this, try this challenge:

看看下面的ASCII字符串:

Take the following ASCII string:

神圣柯尔莫哥洛夫复杂性,蝙蝠侠!的COM preSS这个傻逼下来好,你会得到一个pretty的一分钱,我精的小伙子!

"Holy Kolmogorov complexity, Batman! Compress this sucker down good and you'll get a pretty penny, my fine lad!"

PTED为二进制数,与前几位未来的第一个国际$ P $,那就是: 2280899635869589768629811602006623364651019118009864206881173103187172975244099647369151382436996220022807793898568915685059542016541775658916080587423284053601554008368389985872997499032440860090224967472423163775276043175694884234152335588829534778866153948275745.

Interpreted as a binary number, with the high-order digits coming first, that is: 2280899635869589768629811602006623364651019118009864206881173103187172975244099647369151382436996220022807793898568915685059542016541775658916080587423284053601554008368389985872997499032440860090224967472423163775276043175694884234152335588829534778866153948275745.

试图找到一个多项式的计算结果为这一数字。所有的数字使用必须是整数,并且十进制数字出现在多项式的总数必须小于80。如果你成功了,我会通过贝宝送你一个小的奖金。

Try to find a polynomial which evaluates to that number. All the numbers used must be integral, and the total number of decimal digits appearing in the polynomial must be less than 80. If you succeed, I will send you a small cash prize by PayPal.