【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.18722

再起呼び出し??
投稿者---ponta(2004/12/15 02:37:30)


i番目に小さい素数を返す関数nthprime(i)を作り500番目に小さい素数を求めるプログラムを作成(関数nthprimeは再起呼び出しを用いて作成)したいのですが・・・と課題を丸投げしてすいません。自分で作ってみたのですが、実行結果がでません。どこがどうおかしいのでしょうか?
# include <stdio.h>
# include <stdlib.h>
int nthprime(int);

int main()
{
int a , b ;
for(a=2 ; a<100000 ; a++){
if(nthprime(a)==1){
printf("500番目の素数は%dです\n",d);
exit(0);
}
}
}
int nthprime(int a)
{
int j,count=0,d;

for (j=2 ; j<a ; j++)
if(a%j==0)
break;
count++;
}
if(count==a-2){
d++
if(d==500){
return a;
}
}
count=0;
return 1;





この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> 再帰呼び出し?? 18723 ponta 2004/12/15 02:39:29


No.18723

再帰呼び出し??
投稿者---ponta(2004/12/15 02:39:29)


>i番目に小さい素数を返す関数nthprime(i)を作り500番目に小さい素数を求めるプログラムを作成(関数nthprimeは再帰呼び出しを用いて作成)したいのですが・・・と課題を丸投げしてすいません。自分で作ってみたのですが、実行結果がでません。どこがどうおかしいのでしょうか?
># include <stdio.h>
># include <stdlib.h>
>int nthprime(int);
>
>int main()
> {
> int a , b ;
> for(a=2 ; a<100000 ; a++){
> if(nthprime(a)==1){
> printf("500番目の素数は%dです\n",d);
> exit(0);
> }
> }
> }
>int nthprime(int a)
>{
> int j,count=0,d;
>
> for (j=2 ; j<a ; j++)
> if(a%j==0)
> break;
> count++;
> }
> if(count==a-2){
> d++
> if(d==500){
> return a;
> }
>}
>count=0;
>return 1;
>
>




この投稿にコメントする

削除パスワード

No.18724

Re:再帰呼び出し??
投稿者---rvrdriver(2004/12/15 05:57:36)


 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

の意味は理解してますか?

また、どういう回答を期待しているのか漠然としていて
回答に困ります。

因みに提示されたソースをWinXP、bccでは実行結果云々よりも
コンパイルが通りません。

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
sosu.c:
エラー E2451 sosu.c 10: 未定義のシンボル d(関数 main )
警告 W8070 sosu.c 14: 関数は値を返すべき(関数 main )
警告 W8070 sosu.c 23: 関数は値を返すべき(関数 nthprime )
エラー E2040 sosu.c 24: 宣言が正しく終了していない
エラー E2040 sosu.c 31: 宣言が正しく終了していない
*** 3 errors in Compile ***



この投稿にコメントする

削除パスワード

No.18726

Re:再帰呼び出し??
投稿者---monkey(2004/12/15 09:20:51)


コンパイルエラーがとれたとしても、どこにも再帰呼び出しは見あたりません。
こちら↓のスレッドに再帰関数のヒントを書きました。
http://www2.realint.com/cgi-bin/tarticles.cgi?pointc+18710

# 同じ問題は同じスレッドで続けて下さい。閲覧者が混乱します。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧