階乗を表示する

[戻る]
ゆうた 2003/02/04(火) 00:32:53
pow関数を使い入力した数字の階乗を表示を作りたいんです。
画面出力するときにlong型として出力したいのですが、うまくできません。
{
double x, y;

scanf("%lf", &x);

n = pow(x, 2);

printf("%f", (long)n);
}
ではだめなのでしょうか?
おねがいします。(いくらか省いてます)

マップ 2003/02/04(火) 00:35:35
double型をlongで表示する
意図はなんでしょう?

マップ 2003/02/04(火) 00:36:16
しかも
>n = pow(x, 2);
じゃ,階乗になってませんよ

ゆうた 2003/02/04(火) 00:43:46
n = pow(x, 2);
はxの2乗になってないんですか?
資料によるとa = pow(x,y);
となっていましたが。

マップ 2003/02/04(火) 00:51:20
>n = pow(x, 2);
>はxの2乗になってないんですか?
こらはたしかに,xの自乗ですが,

>pow関数を使い入力した数字の階乗を表示を作りたいんです。
階乗を表示したいのではなかったのですか?

ゆうた 2003/02/04(火) 01:04:23
たしかに、ではpow(x, x);
にすればOKですか。
それと("%f", (long)n);
なんですがlong型にしたので%fかなと思ったんですが、
%lfですか?

マップ 2003/02/04(火) 01:15:38
>pow関数を使い入力した数字の階乗を表示を作りたいんです。
>たしかに、ではpow(x, x);
>にすればOKですか。

数字の階乗の定義と,
関数pow(x, y)がどのような処理をするのか
考えれるor調べれば,
OKかどうかは,わかると思いますが.
試してみるのが一番だと思います.
#ちなみに答えをいってしますと,OKではありません

>それと("%f", (long)n);
>なんですがlong型にしたので%fかなと思ったんですが、
>%lfですか?
>double x, y;
>scanf("%lf", &x);
>n = pow(x, 2);
>printf("%f", (long)n);

nは何型でしょうか?
(long)nとしてるとこをみると,doubleでしょうか?
・longとはどのような型か
・pow(x, y)の返り血は何型か
・printf()の %による書式
について調べてみてはどうでしょうか?
ちなみに,%lfはdouble型で,%fはfloat型です.

ゆうた 2003/02/04(火) 01:27:50
あっ、はやとちりしてました。
long型は%dですよね。
pow関数はべき乗なんですが、これで階乗を計算することは可能なんですか?

マップ 2003/02/04(火) 01:41:57
>pow関数はべき乗なんですが、これで階乗を計算することは可能なんですか?
可能かどうかときかれらば,可能です.

しかし,階乗とはどういうものか考えれば
もっと素直な解き方があると思いますが...

ゆうたさんのかんがえる”階乗”とは
どのようなものでしょうか?
その”階乗”をもとめるのに,
”べき乗(pow(s, y))”を使うのが
適当かどうかは,わかると思いますが...

一度階乗をどうのようなものと考えているか
かお書きになっては?

まゆみ 2003/02/04(火) 04:56:32
long hoge(long n)
{
  long l;
  if (n == 1)
    return 1;

  l = n * hoge(n - 1);
  return l;
}

が素直ではないかと・・・

επιστημη 2003/02/04(火) 07:22:00
答え書いたら勉強にならんって^^;

で、もっと縮めれば:

unsigned long factorial(unsigned long n) {
  return n ? n * factorial(n-1) : 1;
}

かな。

まゆみ 2003/02/04(火) 07:33:23
>答え書いたら勉強にならんって^^;
ごめんなさい。今後気をつけます。

NEG(ねぐ) [E-Mail] [HomePage] 2003/02/04(火) 09:01:48
>答え書いたら勉強にならんって^^;

 その人しだいかな?
 それで単にコピペして終わるようならそれまでの人だし。
 なんでそうなるのかを考えるか、自主性による。
 小出しにしてもらわないと勉強にならないようでは、勉強してるのではなくて、
勉強させられてるのかも???

επιστημη 2003/02/04(火) 10:12:42
>>答え書いたら勉強にならんって^^;
> その人しだいかな?
> それで単にコピペして終わるようならそれまでの人だし。

単にコピペして終わるようなそれまでの人に答え教えちゃうのはヤです。
そうでない人なら答えそのものを呈示する必要はないわけだし。

ならどっちみち書かないほうがよかろうと。

NEG(ねぐ) [E-Mail] [HomePage] 2003/02/04(火) 10:39:27
>そうでない人なら答えそのものを呈示する必要はないわけだし。

 そうでない人は、その答えを得ることによって、自分がその答えを出せるようになるまで、
「自分で」反芻学習が可能になるという利点がある。
 であれば、時間が有効利用できるので必要がないわけではない。

>単にコピペして終わるようなそれまでの人に答え教えちゃうのはヤです。

 いろいろな意味で嫌な場合もあるが、どれほど「やる気」があるのか見たい時もある。(^_^;


 まあ、何事も相手に合わせてというとこなんだろうけど、、、
 今回はちょっと合わなかったかもしれない。

こじま 2003/02/05(水) 23:13:54
なぜ、みなさんは、それほど"答え"を書くのをいやがるのか、
よくわからないのですが。
どう考えても、質問者も回答者も手早く終わってハッピーだと思うのですが。
「勉強にならない」とかいう説得力のない理由以外の理由が知りたいです。

マップ 2003/02/05(水) 23:17:23
>なぜ、みなさんは、それほど"答え"を書くのをいやがるのか、
>よくわからないのですが。
>どう考えても、質問者も回答者も手早く終わってハッピーだと思うのですが。
>「勉強にならない」とかいう説得力のない理由以外の理由が知りたいです。

確かに,ここで質問されてる方に
一発で回答をだすのは簡単でしょうし,
その方がはやくすむのは事実でしょう.

私は,
自分で調べる能力のない人とは
仕事や,一緒になにかをするのが嫌なので,
そのような人が増えないように
がんばっている?つもりです...

こじま 2003/02/05(水) 23:26:42
>そのような人が増えないように
>がんばっている?つもりです...
そうでしょうか。どう考えても逆効果だと思われます。
逆に、プログラミングを実際以上に難しいものと感じて、
勉強する気が失せるというのがオチだと思います。

昔のメーリングリスト等は、もっと初心者に優しかったと思うのは
年のせいなのでしょうか。。。

επιστημη 2003/02/05(水) 23:27:36
魚を貰えば一日食える
釣りを教われば一生食える

ってやつじゃないの?

επιστημη 2003/02/05(水) 23:30:55
> 昔のメーリングリスト等は、もっと初心者に優しかったと思うのは
> 年のせいなのでしょうか。。。

昔の初心者はモノの道理を心得てるヒトが多かったと思う。
少なくとも質問の仕方はちゃんとしてた。

こじま 2003/02/05(水) 23:31:44
答えを教えないことが、"釣りを教る"ことだとは思えません。
とくに、プログラムは、"正しい"サンプルプログラムをたくさん
見ることが一番、勉強になると思うのですが。

こじま 2003/02/05(水) 23:35:12
実際、よい参考書と呼ばれるものは、
みなサンプルプログラムがたくさん載っているのではないでしょうか。
たとえば、Effective C++しかり。
あの本にサンプルが載ってなかったら、理解できる人は1人もいないと思いますが。

επιστημη 2003/02/05(水) 23:35:23
答えをほいほい出しちゃうのは安易に魚を
くれてやることにはならんでしょうか?

こじま 2003/02/05(水) 23:41:30
>答えをほいほい出しちゃうのは安易に魚を
>くれてやることにはならんでしょうか?
みなさん、ここに質問するのは、そうとう悩んでからだと思います。
そこで、"正しい"プログラムを示せば、もっとも勉強になるのでは。
一生懸命、釣りをしているのに魚(正しく動くプログラム)ができないのは
非常につらいと思います。

επιστημη 2003/02/05(水) 23:43:36
宿題出たけどわかりません。誰か代わりにやってください。
# ...っていう意図がミエミエ

なのが魚の釣り方教わろうとしているとは思えない。

... 2003/02/05(水) 23:46:50
ここはサポートセンターか?
参考書か?

聞きたいことがあるなら先生か上司に聞くのが道理だろ。
そういう人がいないなら自分で本やHPを根気よく調べてやるのが
本当の「勉強」だろ。
「勉強の仕方」がわからなくて聞きにくるなら「勉強の仕方」を
教えるのが道理だろ。

今はいいよな。いい参考書やいいHPがいっぱいあって自分で調べれるから。

こじま 2003/02/05(水) 23:50:01
>宿題出たけどわかりません。誰か代わりにやってください。
># ...っていう意図がミエミエ

CやC++の初心者が、ここまでプログラムを書くのは本当に大変だと思います。
もちろん、自分のプログラムを何も示さないで「書いてくれ」というのは
論外だとは思いますが、少なくとも自分のプログラムを示して質問してきた場合には、
答えてあげるほうが良いと思います。

#私自身は、自分のプログラムを何も示さないで「書いてくれ」という場合でも、
#時間と、無駄な掲示板スペースの節約のために、さっさと答えを書くほうがよい
#と思っています。ただ、これについては、いろんな考えがあるとは思います。

こじま 2003/02/05(水) 23:59:23
私は、分からないことを、HPや本を調べて、見つけ出せるようになったら、
初心者ではないと思います。
実際、Webを検索して、分からないことを説明しているページを見つけ出すのは、
プログラミングをすでにある程度分かっている人以外は、無理ではないでしょうか。

"今、自分が分からないこと"を、HPや本から見つけ出すのは、
藁束から針をみつけるようなものだと思います。
それこそ、ノウハウのかたまりであって、もっとも難しいことだと思われます。

επιστημη 2003/02/06(木) 00:07:21
分からんことを書きさえすれば教えてもらえるなら、
いつまでたっても分からんことを自分で見つけ出せる
ようにはならんだろうなぁ。

... 2003/02/06(木) 00:20:25
藁束の中の針の場所が最初からみんなわかっていますか?

藁束から針をすぐに見つけ出すのは誰でも無理です。
隠した人が存在したら、その場所にいればいいですけど。
でも、磁石には針がくっつよって言われたら、それを実践するぐらいの力はあります。

本当にくっつくかはその人が実践しなければ分からないと思います。
そして、くっつくということを学んだらそれを礎に別の状況でも藁の中から針を
見つけることができるようになるでしょう。

マップ 2003/02/06(木) 08:29:28
>藁束の中の針の場所が最初からみんなわかっていますか?
>藁束から針をすぐに見つけ出すのは誰でも無理です。
>隠した人が存在したら、その場所にいればいいですけど。
>でも、磁石には針がくっつよって言われたら、それを実践するぐらいの力はあります。

これはようは”答え”をみつける”道順”を
教えてかげてるわけであって,”答え”そのものを教えているわけでは
ありませんよね?
(磁石云々はおしえているけど,どこに針があるかは教えていない)

#私も学生の身分ですので,答えがすぐ出てくれば嬉しいし,助かります(^^;;
#でも,そんなことって社会にでてから,あるのでしょうか?

επιστημη 2003/02/06(木) 08:52:21
> #私も学生の身分ですので,答えがすぐ出てくれば嬉しいし,助かります(^^;;
> #でも,そんなことって社会にでてから,あるのでしょうか?

あったりなかったり^^;
ヘタすりゃ藁束の中から何を探せばいいかさえわからないこともたくさん。

# 私はなにを探しているのでしょう? みたいな、
# 'はぁ?'な質問も少なからず見受けますな > ココ(に限らず)

NEG(ねぐ) [E-Mail] [HomePage] 2003/02/06(木) 09:24:33
#こじま さま
>昔のメーリングリスト等は、もっと初心者に優しかったと思うのは
>年のせいなのでしょうか。。。

 確かに、DOSの時代(?)とWindowsの時代(?)で変わったと思います。
 Windowsの時代になってその情報を得るのにだいぶ金がかかるようになりました。
 開発環境も高くなりました。
 その辺も関連してるのだと思います。

>そうでしょうか。どう考えても逆効果だと思われます。

 これは必ずしもそうだとは思いません。
 やはり勉強のしかたは人それぞれです。
 ただ与えてるだけだと勉強が進まない奴も居ます。

#επιστημη さま
>昔の初心者はモノの道理を心得てるヒトが多かったと思う。
>少なくとも質問の仕方はちゃんとしてた。

 これはそう思います。

>答えをほいほい出しちゃうのは安易に魚を
>くれてやることにはならんでしょうか?

 そうとは思いません。
 その魚をどう活かすかは、その人しだいです。


 人によって「小出しにした方が勉強になるな」とかいう場合はあると思います。
 しかし、自分で勉強ができる人にはまるまる与えてしまった方が効率がいい場合もあります。
 学生はともかく、仕事上の質問で急いでる場合は、その場はコピペでも即回答していいと思い
ます。
<まあ、明らかに向上心(?)のなさそうな奴は却下だが、、、(^_^;
 なので、答えまる書き「も」否定しません。

どとう 2003/02/06(木) 10:55:31
こういう技術掲示板では、解答者にとっては、
何のメリットも無いし、また求めもしていません。
(本当は、無いこともないのですが。。。)
ですから、答える答えないは、それぞれの自由だと思います。

最近のこの掲示板の独りよがりの質問は、目に余ります。
このスレッドの質問の仕方も今一歩だったので、
その一味と間違われたのでは?
現に解答をもらっても、礼の一つも言わないで消えましたし。

答えが欲しければ、解答する気持ちにさせるような
質問の仕方をするべきだと思います。
ここでも、具体的なやりとりで読んでいて気持ちの良いスレッドが
たくさんあります。
どのような質問の仕方が良いかは、皆さんが散々書かれているので
省略します。

通りすがりのROM 2003/02/06(木) 10:58:17
いつもROMってるだけの者です。

最近多いなぁと思うのが、「このコードを訳してください」。
今ちょうど期末で試験時期で、そういう問題出してる学校のクラスの中で
この掲示板が流行ってんのかなと推測したりしてますが(^^;
んでそこで得た答えがクラス中にまわってたりして。
学生時代よくある風景でした。懐かしい・・・(笑)

私は文系出身で社会に出てからPGを始めることになり社内研修でえらい苦労しました。
そこで同じレベルで苦労してた同期は、聞けば「工学部情報処理科」出身。
「大学でやってきたんじゃないの?」と聞くと「え〜、大学の時は課題の
答えなんて誰かがやってくれたし〜。今は誰も答え教えてくれないよね〜〜。
冷たいよぉ〜」・・・。

何を書いてるかわからなくなりましたが、ここしばらくのスレを見てて
その同期のことを思い出しましたので書いてみました。お邪魔しました(__)

επιστημη 2003/02/06(木) 11:24:12
# ごめんなさい。板汚しなのは承知しているがレス付けずにはいられなくなった。

> こういう技術掲示板では、解答者にとっては、
> 何のメリットも無いし、また求めもしていません。

御意。なのになぜみんな(文句たれながらも)答えてくれるのか。
プログラミングが好きだからだ。プログラミングが好きになって
ほしいからだ(と信じる)。その気持ちに応えてくれ > 質問者

> 現に解答をもらっても、礼の一つも言わないで消えましたし。

自分のためになにかしてもらったらお礼を言いましょうね。
幼稚園で習わなかったのかな?

> え〜、大学の時は課題の答えなんて誰かがやってくれたし〜。
> 今は誰も答え教えてくれないよね〜〜。冷たいよぉ〜

         阿呆

NEG(ねぐ) [E-Mail] [HomePage] 2003/02/06(木) 11:43:19
#どとう さま
>こういう技術掲示板では、解答者にとっては、
>何のメリットも無いし、また求めもしていません。
>(本当は、無いこともないのですが。。。)

 私は修行のつもりでまわってます。
<みなさまの質問や回答が勉強になります。m(_ _)m
 いつまで経っても、わからないことだらけなので、、、(;_;)
 「初心者です」とかいう書き込みを見ると、「初心者です」と前置きして
返事を書きたくなります。(^_^;

>現に解答をもらっても、礼の一つも言わないで消えましたし。

 まあ、これの始まりが早かったので、書き込むタイミングを逸したのかもしれません。

地下鉄 2003/02/06(木) 12:05:19
簡単に答えを教えてもらえると一部の頭の悪い質問者が思い込むことが原因で、
掲示板自体の質が落ちてしまうと思います。
ここの現状もそんな感じじゃないですかね。
問題は、質問者のレベルじゃなくて質です。
将来誰かが読んで応用の利くような質問、解答のやりとりが理想的だと思います。
わけのわからない質問にたいしての過剰反応もどうかと思いますがね。

wood 2003/02/06(木) 12:22:36
私は、もともとこのスレッドに参加していませんし、ただ眺めていましたが
このスレッド いつから雑談スレッドになった

>まゆみ 2003/02/04(火) 07:33:23
>NEG(ねぐ) [E-Mail] [HomePage] 2003/02/04(火) 09:01:48
このへんですか
これ以降「階乗を表示する」の質問に対する回答と取れるものあるんですか?

本人からの書き込み・お礼の言葉も無く捨てハンされちゃってませんか?
「使用上の注意」にある「黙殺」は「ゆうた さん」の都合よくとられて
のご本人はたぶん、読んでませんよ

まだまだ論議続くなら、「雑談掲示板」でやったらどうですか!!

なんだかね・・。 2003/02/06(木) 13:23:03
まあまあ、そんなに目くじら立てなくても。>woodさん

回答者の方達が質問者にどんなことを求めてるのかって
意見の交換は貴重だと思います。
しかも質問者に、これからの質問の仕方の指針としてもらえるような
内容ですしね。

あ!質問者がこのスレを読まないかもってのは無しですよ。
そういう質問者は「雑談掲示板」も興味ないと思うので。

NEG(ねぐ) [E-Mail] [HomePage] 2003/02/06(木) 13:27:21
>このへんですか

 まゆみ さんと私が悪いと?

>これ以降「階乗を表示する」の質問に対する回答と取れるものあるんですか?

 ありません。
 「階乗を表示する」の質問に対する回答から起因して、回答方法等について話が続いただけで
す。
 回答から起因したのでこことなりましたが、いい機会が得られたのではないかと思います。

>まだまだ論議続くなら、「雑談掲示板」でやったらどうですか!!

 そうですね。
 長くなったので、続けるのであればそうした方がいいでしょう。

古いスレッドには追加発言できません。