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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
237
(1): 名前は開発中のものです。 [sage] 04/07/04 12:38 ID:WDudAYFD(2/5) AAS
平方根求めるより楽だし
238: 名前は開発中のものです。 [sage] 04/07/04 12:55 ID:9GihiSR8(1) AAS
>>236-237
なんで平方根まででいいんだっけ?
239
(1): 名前は開発中のものです。 [sage] 04/07/04 13:00 ID:WDudAYFD(3/5) AAS
それ以上のは今までに計算した分と対応してるだけ
240
(1): HSPが初プログラム@生徒希望 [sage] 04/07/04 19:58 ID:3DUC6+Xf(2/2) AAS
えと、素数はどういうものかはわかるんですが、プログラムというかHSPでの算出方法が…
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) AAS
>>241を改良してみた。

; 素数判定 with HSP 何気に高速版
title "素数判定 - Calculating..."
#const MAX_COUNT 1000
ll_libload dll,"kernel32.dll" :ll_getproc func,"GetTickCount", dll
ll_libfree dll :ll_retset refunc

sdim log, 7 * MAX_COUNT :notesel log
dim result, MAX_COUNT
mesbox log, 640, 480
noteadd "2",0,1 :result.0 = 2 :count = 3 :i = 1
;測定
ll_callfunc temp,0,func
start = refunc
repeat
  flg = 1;
  repeat i
   if count \ result.cnt = 0 : flg = 0 :break
  loop
  if flg {
   noteadd ""+count, -1 :result.i = count
   i++ :if i >= MAX_COUNT: break
   await
  }
count += 2
loop
ll_callfunc temp,0,func
refunc -= start :dialog "" + refunc + "ms"
objprm 0, log :title "素数判定"
stop
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 + "個の素数を発見しました");
}
1-
あと 526 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s