Forum: Programmerings lek

Forum huvudsida -> Programmering -> Programmerings lek

Sidor: 1 2 3 4 5 6 7

Till botten

InDigo176 18:13 - 14:e Januari 2008 | Post #101
Medlem
Inlägg: 72


Skicka PM
    Citat av tobbez:

Godkännes?


Sehr gut! Godkännes

-------------------------
Sebban



tobbez 18:18 - 14:e Januari 2008 | Post #102
Medlem
Inlägg: 364


Skicka PM
Nu vill jag ha ett program i C/C++, C#, python eller Ada som räknar ut alla primtal mellan 0 och 500 genom att använda Eratostenes såll.




fritte 18:46 - 14:e Januari 2008 | Post #103
Medlem
Inlägg: 23


Skicka PM
Postar en lösning i fel språk så jag slipper hitta på en ny uppgift (:

haskell:
  1. main = print (takeWhile (< 500) primtal) where
  2. primtal = sieve [2..] where
  3. sieve (p:xs) = p : sieve [x | x <- xs, x `mod` p > 0]





Harol 18:53 - 14:e Januari 2008 | Post #104
Medlem
Inlägg: 1


Skicka PM

#include <iostream>
#define dotimes(x,y) for(int y = 0;x != y;++y)
int main()
{
    int arr[500];
    dotimes(500,i)
        arr[i] = i + 1;
    dotimes(500,i)
    {
        bool iprime=true;
            dotimes(500-i,j)
                if(arr[j] != 0 && arr[i] % arr[j] == 0)
                    iprime=false;
            std::cout << arr[i] << std::endl;
    }
    return 0;
}


den borde fungera jah?




InDigo176 19:22 - 14:e Januari 2008 | Post #105
Medlem
Inlägg: 72


Skicka PM
EDIT: harol var ju först men jag postar min för skojs skull :p

Hmm, hoppas jag fick allt rätt med Eratosthenes såll Smiley
(Länka med -lm-switchen om man använder gcc.)
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(int argc, char **argv) {
  5. const int LIMIT = 500;
  6. int i;
  7. int n;
  8. int is_prime[LIMIT];
  9.  
  10. for (i=2; i<LIMIT; i++) {
  11. is_prime[i] = 1;
  12. }
  13.  
  14. for (n=2; n<sqrtf((float)LIMIT); n++) {
  15. for (i=powf((float)n, 2); i<LIMIT; i=i+n) {
  16. is_prime[i] = 0;
  17. }
  18. }
  19.  
  20. for (n=2; n<LIMIT; n++) {
  21. if (is_prime[n]) printf("%i\n", n);
  22. }
  23.  
  24. return 0;
  25. }


-------------------------
Sebban

Senast redigerad 22:55 - 14:e Januari 2008


FunkyChicken 22:10 - 14:e Januari 2008 | Post #106
Nyhetsredaktör
Inlägg: 800


Skicka PM
Mer matteuppgifter!




tobbez 01:25 - 15:e Januari 2008 | Post #107
Medlem
Inlägg: 364


Skicka PM
Harols lösning gjorde fel, och InDigo176''s gjorde rätt, så InDigo176 får hitta på en ny uppgiftSmiley




tobbez 02:03 - 15:e Januari 2008 | Post #108
Medlem
Inlägg: 364


Skicka PM
Och Indigo176 får gärna förklara vad potenserna gör för nytta (optimering?).

Och eftersom jag inte hade så mycket bättre för mig löste jag även mitt egna problemSmiley

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6. short is_prime[501];
  7. int i;
  8.  
  9. for(i = 2; i < 501; i++) is_prime[i] = 1;
  10.  
  11. for(i = 2; i < 501; i++)
  12. {
  13. if(is_prime[i])
  14. {
  15. int j;
  16. for(j = 2 * i; j < 501; j += i) is_prime[j] = 0;
  17. }
  18. }
  19.  
  20. for(i = 2; i < 501; i++)
  21. if(is_prime[i])
  22. printf("%i\n", i);
  23.  
  24. return 0;
  25. }





FunkyChicken 13:00 - 15:e Januari 2008 | Post #109
Nyhetsredaktör
Inlägg: 800


Skicka PM
Mmm, InDigo176s powf är lite mystisk, förvånad att det ens fungerar!?




InDigo176 16:58 - 15:e Januari 2008 | Post #110
Medlem
Inlägg: 72


Skicka PM
Ehhöhh, vad potensgrejjen gör för nytta... ja... hmm... Det funkar ju iaf Smiley
(Jag hade inte hört talas om Eratosthenes såll förut så jag gluttade på Wikipedia och översatte bara pseudo-koden därifrån.)

Nästa uppgift kan ju vara... *tänker* ...ett program som räknar ut decimaler på PI (jag vågar inte uttala mig om mer detaljer då jag aldrig skrivit ett sådant program Smiley). Valfritt språk!



-------------------------
Sebban



Python 18:23 - 15:e Januari 2008 | Post #111
Medlem
Inlägg: 157


Skicka PM
Nämnvärt är att det tar tid...
Men här kommer det:

  1. #!usr/bin/env/python
  2. #Variabler
  3. tal1 = 1.0;
  4. tal2 = 1.0;
  5. summa = tal1/tal2
  6. #Rakna ut pi
  7. for i in range(10):
  8. for i in range(9999999):
  9. tal2 += 2.0
  10. summa -= tal1/tal2
  11. tal2 += 2.0
  12. summa += tal1/tal2
  13. for i in range(9999999):
  14. tal2 += 2.0
  15. summa -= tal1/tal2
  16. tal2 += 2.0
  17. summa += tal1/tal2
  18. for i in range(9999999):
  19. tal2 += 2.0
  20. summa -= tal1/tal2
  21. tal2 += 2.0
  22. summa += tal1/tal2
  23. for i in range(9999999):
  24. tal2 += 2.0
  25. summa -= tal1/tal2
  26. tal2 += 2.0
  27. summa += tal1/tal2
  28.  
  29. summa *= 4
  30.  
  31. print "Pi is " + str(summa)
  32. a = raw_input("Bye!")

Gjorde looparna flera gånger för det blir mer exakt och man kan ju inte ha hur stora tal som helst.

-------------------------
-------------------------

Senast redigerad 18:52 - 15:e Januari 2008


InDigo176 18:54 - 15:e Januari 2008 | Post #112
Medlem
Inlägg: 72


Skicka PM
    Citat av Python:
Nämnvärt är att det tar tid...

*Hur* lång tid? Smiley
(Väntar på att den ska räkna färdigt så att jag kan godkänna Smiley)

-------------------------
Sebban



Python 19:12 - 15:e Januari 2008 | Post #113
Medlem
Inlägg: 157


Skicka PM
Inte lika länge som min längre version i alla fall...

  1. a#!usr/bin/env/python
  2. #Variabler
  3. tal1 = 1.0;
  4. tal2 = 1.0;
  5. summa = tal1/tal2
  6. #Rakna ut pi
  7. for i in range(9999999):
  8. for i in range(9999999):
  9. tal2 += 2.0
  10. summa -= tal1/tal2
  11. tal2 += 2.0
  12. summa += tal1/tal2
  13. for i in range(9999999):
  14. tal2 += 2.0
  15. summa -= tal1/tal2
  16. tal2 += 2.0
  17. summa += tal1/tal2
  18. for i in range(9999999):
  19. tal2 += 2.0
  20. summa -= tal1/tal2
  21. tal2 += 2.0
  22. summa += tal1/tal2
  23. for i in range(9999999):
  24. tal2 += 2.0
  25. summa -= tal1/tal2
  26. tal2 += 2.0
  27. summa += tal1/tal2
  28. for i in range(9999999):
  29. for i in range(9999999):
  30. tal2 += 2.0
  31. summa -= tal1/tal2
  32. tal2 += 2.0
  33. summa += tal1/tal2
  34. for i in range(9999999):
  35. tal2 += 2.0
  36. summa -= tal1/tal2
  37. tal2 += 2.0
  38. summa += tal1/tal2
  39. for i in range(9999999):
  40. tal2 += 2.0
  41. summa -= tal1/tal2
  42. tal2 += 2.0
  43. summa += tal1/tal2
  44. for i in range(9999999):
  45. tal2 += 2.0
  46. summa -= tal1/tal2
  47. tal2 += 2.0
  48. summa += tal1/tal2
  49. for i in range(9999999):
  50. for i in range(9999999):
  51. tal2 += 2.0
  52. summa -= tal1/tal2
  53. tal2 += 2.0
  54. summa += tal1/tal2
  55. for i in range(9999999):
  56. tal2 += 2.0
  57. summa -= tal1/tal2
  58. tal2 += 2.0
  59. summa += tal1/tal2
  60. for i in range(9999999):
  61. tal2 += 2.0
  62. summa -= tal1/tal2
  63. tal2 += 2.0
  64. summa += tal1/tal2
  65. for i in range(9999999):
  66. tal2 += 2.0
  67. summa -= tal1/tal2
  68. tal2 += 2.0
  69. summa += tal1/tal2
  70.  
  71. summa *= 4
  72.  
  73. print "Pi is " + str(summa)
  74. a = raw_input("Bye!")


-------------------------
-------------------------



InDigo176 19:23 - 15:e Januari 2008 | Post #114
Medlem
Inlägg: 72


Skicka PM
Verkar ju fungera iaf Smiley Godkännt!

-------------------------
Sebban



ozamosi 19:33 - 15:e Januari 2008 | Post #115
Administratör
Inlägg: 1129


Skicka PM
,,r det nu jag ska nämna att ditt resultat inte blir ett dugg noggrant, eftersom du för decimaltal använder floats och inte decimals, vilket resulterar i avrundning?

-------------------------
Ljusblå



Python 08:11 - 16:e Januari 2008 | Post #116
Medlem
Inlägg: 157


Skicka PM
Jag vill ha ett program som gör att man inte kan komma in på någon annan sida än blinkenlights startsida i firefox. t.ex. Pelle öppnar firefox som automatiskt går in på blinkenlights. Pelle försöker gå till idg.se men firefox går tillbaka till blinkenlights.
Valfritt språk.

-------------------------
-------------------------

Senast redigerad 08:11 - 16:e Januari 2008


InDigo176 19:21 - 16:e Januari 2008 | Post #117
Medlem
Inlägg: 72


Skicka PM
Hmm... den enda lösningen jag kan tänka fram är att skriva en enkel proxy-server och sedan tvinga Firefox att använda den (skriva i konfigurationsfilerna).

-------------------------
Sebban



ozamosi 19:48 - 16:e Januari 2008 | Post #118
Administratör
Inlägg: 1129


Skicka PM
Proxyserver? Why? Bygg en extension!

-------------------------
Ljusblå



InDigo176 15:15 - 17:e Januari 2008 | Post #119
Medlem
Inlägg: 72


Skicka PM
Heh, så kan man ju också göra Smiley

-------------------------
Sebban



nibbo 23:37 - 17:e Januari 2008 | Post #120
Administratör
Inlägg: 446


Skicka PM
jag funderade över att pilla i nån hosts-fil... men det kanske är jag som tänker galet?

-------------------------
Ja! Det är en ,,KTA pungsvansknapp på min avatar!



FunkyChicken 01:12 - 18:e Januari 2008 | Post #121
Nyhetsredaktör
Inlägg: 800


Skicka PM
mja, det var min första tanke också. Det du kan göra där är ju att binda alla addresser till blinkenlights IP. Det blir nog inte riktigt som tänkt, men det är ju helt klart det enklaste programmet att göra. Bara en rad i sh faktiskt...




Independence 08:51 - 18:e Januari 2008 | Post #122
Administratör
Inlägg: 1800


Skicka PM
Kan man använda wildcards i hosts-filen?

-------------------------

Vi är riddarna som säger fiskbulle!





FunkyChicken 15:46 - 18:e Januari 2008 | Post #123
Nyhetsredaktör
Inlägg: 800


Skicka PM
Nope.

Vilket gör det lite mer utamande. Man kan tex extrahera alla addresser ur webbläsarens bokmärken och history och lägga till dem. Inte perfekt, men kreativtSmiley

Tyvärr är väl blinkenlights IP inte statiskt?




Independence 17:16 - 18:e Januari 2008 | Post #124
Administratör
Inlägg: 1800


Skicka PM
Hm, eller så gör man fyra miljarder inlägg i hosts-filenSmiley

Det är väl klart blinkenlights IP är statiskt?Smiley

-------------------------

Vi är riddarna som säger fiskbulle!





ozamosi 19:18 - 18:e Januari 2008 | Post #125
Administratör
Inlägg: 1129


Skicka PM
En extension som löser uppgiften: http://flukkost.nu/blinkenfox.xpi

Eftersom den består av massor filer tänker jag inte pasta någonting - en xpi är ju bara en zip-fil med ett par filer och en jar. Och en jar är ju bara en zip-fil...

Den är bara testad med Firefox2 - den borde funka med Firefox3, men jag vill inte döda alla mina flikarSmiley

Edit: ja, jag skriver den här posten med extensionen aktiverad.

-------------------------
Ljusblå

Senast redigerad 19:19 - 18:e Januari 2008


Sidor: 1 2 3 4 5 6 7

Forum huvudsida -> Programmering -> Programmerings lek
Atom feed

Du får inte posta i den här tråden | Till toppen