トップページ > プログラム > 2014年06月12日 > 25HL/Rbg

書き込み順位&時間帯一覧

15 位/212 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000100030010005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
1/2
2/2
スレ立てるまでもない質問はここで 134匹目
C/C++の宿題片付けます 167代目

書き込みレス一覧

スレ立てるまでもない質問はここで 134匹目
778 :デフォルトの名無しさん[sage]:2014/06/12(木) 13:12:33.88 ID:25HL/Rbg
C言語のライブラリ関数(printfなど)って、新しく作られるということはありませんか?

C言語には、いくつのライブラリ関数があるのでしょうか?
また、http://www9.plala.or.jp/sgwr-t/lib/lib.html
などの、ヘッダとライブラリ関数は全部覚えるべきですか?
C言語や他の言語でも、勉強していく順序や過程を教えてほしいです。
スレ立てるまでもない質問はここで 134匹目
791 :デフォルトの名無しさん[sage]:2014/06/12(木) 17:43:15.91 ID:25HL/Rbg
>>779-780
ありがとうございます。
習得してからやりたいことも探してみよう思います。
C/C++の宿題片付けます 167代目
451 :1/2[sage]:2014/06/12(木) 17:45:43.36 ID:25HL/Rbg
入力したのが、素数かどうか判定するプログラム。

自分で考えた。
#include <stdio.h>
int main(void)
{
int a,b,c=0;
scanf("%d",&a);
for(b=1;b<=a;b++)
{
if(a%b==0)c++;
}
if(c==2)printf("素数です\n");
else printf("素数ではありません\n");
return 0;
}

解答。
#include <stdio.h>
int main(void)
{
int a,b,c=1;
scanf("%d", &b);
for(a=2; a<=b/2; a++)
if((b%a)==0) c = 0;
if(c==1) printf("素数です");
else printf("素数ではありません");
return 0;
}
C/C++の宿題片付けます 167代目
452 :2/2[sage]:2014/06/12(木) 17:46:17.06 ID:25HL/Rbg
自分で考えたのは、整数を入力して、1からその数まで1ずつ増やし、割り切れたらcに1を足す。
for文から抜けて、cが2なら、1とその数でのみで割り切れるということなので素数。
1はc=1になるので含まれない。

って作ったのですが、解答の場合でも代入していって考えました。
代入していってだいたい分かりましたが、考え方は、公約数で1の次に大きな数が2で、
1と入力した数以外に約数がある場合、1番小さい数が2。だから、入力した数の半分まで
ループさせれば、足りる、みたいな感じでしょうか。

解答のほうがforループの回数が半分なので、これが莫大な量になったとき
処理は早くなると思います。やはり、自分の考えでプログラムを書いて正しい答えを出すより、
分かりづらかったり考える必要があっても、最小限の手数で
正しい答えが出せるプログラムも理解していくべきでしょうか?

仕事などをされてる方は、このようにパッと見で少し理解が難しくても、
少しでも速くなるプログラムを書いてる方は多いですか?
C/C++の宿題片付けます 167代目
455 :デフォルトの名無しさん[sage]:2014/06/12(木) 20:23:38.21 ID:25HL/Rbg
>>453,454
なるほどですね。
ありがとうございました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。