[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
241
(2): x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/04 20:45 ID:WDudAYFD(4/5) AAS
; 素数判定 with HSP 少しだけ高速版
sdim log, 7000: notesel log
title "素数判定 - Calculating..."
mesbox log, 640, 480
log = "2": n = 1
repeat 999
repeat
n += 2: f = 1
repeat n>>1-1,3
3(2): VshiFFV8 ◆g28oS.E2zA [] 04/06/10 18:08 ID:VshiFFV8(2/2) AAS
IDをコテにしてみます
if n \ cnt = 0: f = 0: break
continue cnt+2
loop
if f: break
loop
noteadd ""+n
await
loop
objprm 0, log
title "素数判定"
stop
242
(1): x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/04 20:47 ID:WDudAYFD(5/5) AAS
あ、インデントかけるの忘れとった。。。

; 素数判定 with HSP 単純版
sdim log, 7000: notesel log
title "素数判定 - Calculating..."
mesbox log, 640, 480
repeat ,2
    n = cnt
    repeat cnt-2, 2
        if n \ cnt = 0: n = 0: break
    loop
    if n{
        noteadd ""+cnt
        i++
        if i >= 1000: break
        await
    }
loop
objprm 0, log
title "素数判定"
stop
243: Ruby@素数高速化 [] 04/07/05 00:33 ID:K58VA1M5(1) AAS
以前のバージョン
43.702999830246秒
ループ 31343403回
新しいバージョン(奇数のみ評価、平方根までチェック)
0.921999931335449秒(約47倍)
ループ 225062回(約139倍)
思ったより高速化されてビクーリ

print "2\n"
count=1
loopCount=0
i=3
old=Time.now.to_f;
while count<1000 do
  sosu=true
  for j in 3..Math.sqrt(i) do
    loopCount=loopCount+1
    if ( (i % j) == 0)
      sosu=false
    end
  end
  if (sosu)
    print "#{i}\n"
    count=count+1
  end
  i=i+2
end
print " #{Time.now.to_f - old}秒かかりました\n"
print " #{loopCount}回ループしました\n"
print "素数を#{count}個みつけました\n"
244: 名前は開発中のものです。 [] 04/07/05 01:37 ID:o/9mlWPU(1) AA×
>>241

245: 名前は開発中のものです。 [sage] 04/07/05 07:17 ID:LZQQVRIy(1/3) AAS
Delphiで素数
外部リンク[zip]:gamdev.org
246: 名前は開発中のものです。 [sage] 04/07/05 13:04 ID:LZQQVRIy(2/3) AAS
最速の素数判定アルゴリズム
2chスレ:tech
247
(3): 名前は開発中のものです。 [sage] 04/07/05 20:13 ID:axn64mRQ(1) AAS
すごいスレの流れと違うような気がしますが、
Cで、ウインドウ表示とか(課題3)、できないんですが・・・どうしたらいいんでしょうか?
248: 名前は開発中のものです。 [sage] 04/07/05 20:40 ID:q8IB8pY7(1) AAS
できないだけ書かれてもどうしようもない。
249: 名前は開発中のものです。 [sage] 04/07/05 20:57 ID:0DOOfkU1(1) AAS
>>247
猫でもわかるプログラミング
外部リンク:www.kumei.ne.jp

このへんでまず勉強してこよう
250: 名前は開発中のものです。 [sage] 04/07/05 22:48 ID:LZQQVRIy(3/3) AAS
>>247
WinMainからはじまって
CreateWindowでウィンドウの設定して
ShowWindowで表示するだけだ
251: HSPが初プログラム@生徒希望 [sage] 04/07/05 22:51 ID:ZZjGGIiZ(1/2) AAS
sdim m,4000 : notesel m
mesbox m,640,480
noteadd "2" m : noteadd "3" m : noteadd "5" m : noteadd "7" m

n=7
c=4

*judge
n+=2

if n\3=0 : goto *judge
if n\5=0 : goto *judge
if n\7=0 : goto *judge

noteadd "n" m : c+

if c=1000 : goto *s

goto *judge

*s
stop

素数はこれで出るカナと思ったんですが、エラー発生。原因を突き止められませんTT
252
(1): x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/05 23:00 ID:pTJ3lo22(1/2) AAS
エラーを読も・・・・・Σ(;゚Д゚)HSPがエラー吐いてない!

noteadd "*" m
        ~|~
   要らない。ここでエラーが出てる。

noteadd "n"
      ~|~
エラーの原因ではないが、""+nの誤り。

あと、objprm 0, mをstopの前に入れて出力させてあげよう。
253
(1): HSPが初プログラム@生徒希望 [sage] 04/07/05 23:07 ID:ZZjGGIiZ(2/2) AAS
>>252
thx
でも、4363で終わりますがあってるんでしょうか?

sdim m,4000 : notesel m
mesbox m,640,480
noteadd "2" : noteadd "3" : noteadd "5" : noteadd "7"

n=7
c=4

*judge
n+=2

if n\3=0 : goto *judge
if n\5=0 : goto *judge
if n\7=0 : goto *judge

noteadd ""+n : c+

if c=1000 : goto *s

goto *judge

*s
objprm 0, m
stop
254: x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/05 23:24 ID:pTJ3lo22(2/2) AAS
たしか7919のはずだけど・・・

暇だしPerlとJava版の素数判定作ってみようかな。。。
255: 名前は開発中のものです。 [sage] 04/07/05 23:25 ID:MIzlaErt(1) AAS
>>253
間違ってるよ・・・
121とかあるし・・・11からの素数の合成数が出まくりやね。
256: 名前は開発中のものです。 [sage] 04/07/06 00:11 ID:hNVuoewj(1) AAS
>>247
それは簡単だって!どっかのサイトに張ってあるやつをそのままコピペで完成だぁよぉ!
257: 名前は開発中のものです。 [sage] 04/07/06 01:48 ID:IHRV3HSb(1/2) AAS
素数スレになってるのだが・・・
258: 名前は開発中のものです。 [] 04/07/06 02:29 ID:pkSoPn0/(1/5) AAS
Delphi エラトステネスの篩
外部リンク[zip]:gamdev.org
259
(1): x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/06 07:38 ID:BOq5Vq10(1/4) AAS
#!D:\perl\bin\perl.exe

print "Content-type: text/plain\n\n";
print "Start\n";
print "2\n";
$table[0] = 2;
$i = 1;
for(2..1000){
    for($i += 2; ; $i += 2){
        if(&IsPrime($i)){ last; }
    }
}
print "Finish";
exit(1);

sub IsPrime{
    (my $src) = @_;
    for($j = 0; $table[$j] <= sqrt($src); $j++){
        if($src % $table[$j] == 0){ return 0; }
    }
    print $src."\n";
    push(@table, $src);
    return 1;
}

# Perl版。printを取ってみると分かるけどPerlはインタープリタなのに
# 結構処理速いね。。。
260: 名前は開発中のものです。 [sage] 04/07/06 12:03 ID:IHRV3HSb(2/2) AAS
>>259
Perlは見かけ上インタプリタだけど、
処理はコンパイル後実行だと聞いたことがある。
261: 名前は開発中のものです。 [] 04/07/06 16:54 ID:pkSoPn0/(2/5) AAS
C#で素数
static void Main(string[] args)
{
    int sosuCount=0;
    for (int i = 2; sosuCount<1000; i++)
    {
        Boolean nososu;
        nososu = false;
        for (int j = 2; j < i ; j++)
        {
            if ((i % j) == 0)
            {
                nososu = true;
                break;
            }
        }
        if (!nososu)
        {
            Console.WriteLine(i);
            sosuCount++;
        }
    }
    Console.WriteLine(sosuCount + "個の素数を発見しました");
}
262: x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/06 17:32 ID:BOq5Vq10(2/4) AAS
public class Prime {
public final static int PRIME_MAX = 1000;
static int PrimeTable[] = new int [PRIME_MAX];
static int TableLast = 1;

public static void main(String[] args) {
int l = 1;
PrimeTable[0] = 2;
System.out.println(2);
for(; TableLast < PRIME_MAX; TableLast++)
for(l += 2; ; l += 2)
if(IsPrime(l)) break;
System.out.println("Finish");
}
public static boolean IsPrime(int src) {
for(int i = 0; PrimeTable[i] <= Math.sqrt(src) && i < TableLast; i++)
if(src % PrimeTable[i] == 0) return false;
PrimeTable[TableLast] = src;
System.out.println(src);
return true;
}
}

// Java版。
// あと手を付けてない言語は何だっけ。
// ・・・ひまわりでもやってみるか。
263: 名前は開発中のものです。 [] 04/07/06 18:09 ID:pkSoPn0/(3/5) AAS
//PHPで素数
<?php
    for ($i=2; $sosuCount<1000; $i++)
    {
        $nososu=false;
        for ($j=2; $j<$i; $j++)
        {
            if (($i % $j) == 0)
            {
                $nososu=true;
                break;
            }
        }
        if (!$nososu)
        {
            echo $i;
            echo "\n";
            $sosuCount++;
        }
    }
    echo $sosuCount + "個の素数を発見しました";
?>
264: 名前は開発中のものです。 [] 04/07/06 18:57 ID:pkSoPn0/(4/5) AAS
#Pythonで素数
sosuCount=0
i=2
while sosuCount<1000:
        nososu=False
        j=2
        while j<i:
                if ((i % j) == 0):
                        nososu=True
                        j=99999
                        break
                j=j+1
        if (not nososu):
                print i
                sosuCount=sosuCount+1
        i=i+1
print sosuCount
print "個の素数を発見しました"
265: 生徒A [sage] 04/07/06 19:10 ID:B1nIIlBn(1) AAS
素数スレに変化していたらしい
1-
あと 522 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.049s