Компилятор опроверг теорему Ферма
int fermat (void) { const int MAX = 1000; int a=1,b=1,c=1; while (1) { if (((a*a*a) == ((b*b*b)+(c*c*c)))) return 1; a++; if (a>MAX) { a=1; b++; } if (b>MAX) { b=1; c++; } if (c>MAX) { c=1; } } return 0; } #include <stdio.h> int main (void) { if (fermat()) { printf ("Fermat's Last Theorem has been disproved.\n"); } else { printf ("Fermat's Last Theorem has not been disproved.\n"); } return 0; } regehr@john-home:~$ icc fermat2.c -o fermat2 regehr@john-home:~$ ./fermat2 Fermat's Last Theorem has been disproved. regehr@john-home:~$ suncc -O fermat2.c "fermat2.c", line 20: warning: statement not reached regehr@john-home:~$ ./fermat2 Fermat's Last Theorem has been disproved.
На изображении показаны фрагмент программы на C и вывод терминала. Программа перебирает числа в поисках контрпримера к последней теореме Ферма, но из-за неопределённого поведения компилятор принимает невозможный результат и сообщает, что теорема опровергнута. Мем используют как саркастическую реакцию на странное поведение компилятора, ошибки оптимизации и чрезмерное доверие к результатам работы программы. EN: The image shows a C program fragment and terminal output. The program searches for a counterexample to Fermat's Last Theorem, but because of undefined behavior, the compiler accepts an impossible result and reports that the theorem has been disproved. The meme is used as a sarcastic reaction to strange compiler behavior, optimization bugs, and excessive trust in a program's output.
- @ithueti / 1445 2019-10-15
- Type
- image
- Size
- 492×800 · 40.4 KiB
- Mood
- саркастический, абсурдный
- Language
- en
- Added