Trolling homework questions - sorting
codegolf.stackexchange.com
codegolf.stackexchange.com
If you were to allow the masses to determine whether a question is a troll question or not, using an OR, allowing anyone to flip the bit, then almost every question would be considered a troll question. You get a lot of false positives.
Providing a thorough, quality answer to a troll question won't help advance that troll's career, they will pay the price later, for sure, when their intellect is on the line.
Providing a trolly answer, and treating the question asker as insincere will inevitably treat a sincere person like shit, and turn them off entirely from entire genres and disciplines.
Treat resources as sincere, and those who wish to abuse them for temporary short term gain will, and I am very confident about this, end up fucking themselves over.
*If you downvote this, please let me know what you disagree with, I'm open to debate.
1. I read the whole thing three times and I still don't really understand what your objective is.... and do you actually know the purpose of the trolling thread or not. The purpose is to have fun and pretend one as a student who is under some stress and is trying to figure out some funny yet creative ways to brain fuck with the TA or professor. Even if it receives F, whatever.
> Treat resources as sincere, and those who wish to abuse them for temporary short term gain will, and I am very confident about this, end up fucking themselves over.
Well, most of the questions we ask on the Internet are really for short-term gain anyway. We hope someone could tell us why the fuck the X.so file is not linked and we move on afterward.
Most of the answers are actually not some quick jerky answers. people actually took time to write them. And in the process of writing an answer, the author learns. Ever heard of "one teaches, two learns?"
2. Why so serious? The Internet is full of shit half of the time. Wasting 100MB in the database for 100 trolling answers isn't going to kill some hungry child in Africa.
This what would happen in an ideal world.
In reality though it's orders of magnitude easier to check credentials than intellect (provided it's even possible to do the later). In many situations, if you go against somebody with credentials without credentials of your own you won't even have a chance to have a battle of wits (like applying for a job that requires a degree).
And cheating will get you credentials most of the time, it's not like universities check every graduate's intellect before issuing them a diploma. Otherwise cheating would not be such a big deal in the academia.
So yes, helping stupid people with their homework will advance their career. Might not to the level of Google's CTO but to the level of the guy who codes healthcare.gov or the DV's "random number generator" or Toyota's ECU or any other example of crappy code that has a good chance to interfere with people's lives. Please don't do that. If you don't want to troll them - just don't reply.
CodeGolf will look at other SE sites, find homework questions, then take those questions back to codegolf.
Thus, CodeGolf gets an interesting new flavour of challenge (provide the worst solution to a problem) and the person who originally asked the question doesn't have to deal with the codegolfing. They do, however, have to deal with the rest of SE.
I guess downvotes are because you appear to think that codegolfers are answering in the threads where the questions are originally asked.
I was -1 when I edited the comment to include it and +22 now and a lot less confused.
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[]) {
int i, ndx;
double my_numbers[10];
double sorted_numbers[10];
uint16_t picked;
for (i = 1; i < argc; i++) {
my_numbers[i-1] = atof(argv[i]);
}
while (1) {
picked = 0;
ndx = 0;
/* sort the numbers */
while (picked != 0x3ff) {
i = (rand() / 100) % 10;
if ((picked & (1 << i)) == 0) {
picked |= (1 << i);
sorted_numbers[ndx++] = my_numbers[i];
}
}
/* verify they sorted correctly */
for (i = 8; i >= 0; i--) {
if (( i == -1) || (sorted_numbers[i] > sorted_numbers[i+1])) {
break;
}
}
if (i == -1) {
printf(" Sorted: \n");
for (i = 0; i < 10; i++) {
printf(" %d: %f\n", i, sorted_numbers[i]);
}
exit(0);
}
}
}Out of curiosity, why do you divide the rand() by 100 before applying the mod?
Are you sure? What if there's an infinite amount of tries to get to a certain number? You can of course reason about the average case, but maybe the worst case (when there's an input number which is never found by the PRNG) does never halt.
> O(rand)
For sorting algorithms we usually compare in the number of input elements. You can reason about the average case where the numbers are found in average time so you can consider the number of iterations to find the correct number a constant (a very large constant but a constant nonetheless).
perl -e 'my $vals = ".003, .002, .005"; my @sorted = sort { $a > $b } map { $_ =~ s/ +//g; $_ } split(",",$vals); print "$_ " foreach @sorted;'
You can alias the topic variable ($_) if you're not a fan.
I mean it might technically be possible if you did some kind of recurrent neural network and gave the inputs through time rather than through space. And you would also have to let it interact with some kind of external memory or workspace.
Perhaps you could train it to just perform operations on the list itself (compare two elements, swap two elements, etc.) That would be the simplest way.
Or just ask wolframalpha.
https://gist.github.com/anonymous/8158332
Basically, each thread sleeps for the time corresponding to the number
Epic. Epic I say.
1. Output all permutations of the input
2. There is no step 2.
You've technically outputted the input list in order...somewhere