C言語を学習していて「独習C」48ページの次のプログラムが分かりませんでした。
~~~~~~~~~~~~~~~~
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int num, i, is_prime;
printf("判定したい数を入力してください");
scanf("%d", &num);
/*ここからがわかりません*/
is_prime = 1;
for(i=2; i<=num/2; i=i+1)
if((num%i)==0) is_prime = 0;
if(is_prime==1) printf("素数です");
else printf("素数ではありません");
return 0;
}
~~~~~~~~~~~~~~~
私はこうなると考えています。どこが間違っているでしょうか?
numが0のとき、2<=0となり、素数
numが1のとき、2<=0.5となり、素数でない
numが2のとき、2<=1となり、素数でない
numが3のとき、2<=1.5となり、素数でない
No.2ベストアンサー
- 回答日時:
for(i=2; i<=num/2; i=i+1)
は入力した数/2になるまでiを+1しながらループするという意味です
(必要最小限回そうということで/2をしています)
ここでは素数かどうかは判断していません。
実際に素数かどうかを判断しているのは、
if((num%i)==0)
この部分で、で除算した時に余りがあるか無いかの判断になります
ループに入る前に
numが0のときis_prime = 1としておき、
除算した時に余りがあるか割る数を+1していきながらチェック
除算した時に余りがなければ(素数ではない)is_prime = 0となります
numが0~3のとき、ループは即抜け、is_prime = 1なので素数
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列を使って魔方陣
-
C言語の二分法のプログラムにつ...
-
構文エラー";"が型の前にあり...
-
初心者です。for文、if文を使っ...
-
for文の中にswitch文はいれられ...
-
C言語 数字以外を入力させない...
-
#if 1 #elseの意味について
-
scanf関数を用いての加減乗除%...
-
c言語の問題
-
配列を関数に渡す方法
-
C言語プログラムが理解できなくて…
-
VHDLで、case文とwhen文のどち...
-
getcの改行判定
-
C言語でfor文を用いたプログラ...
-
c言語プログラミングで1から100...
-
c言語のプログラムで
-
scanfが実行されません
-
直角三角形を表示するプログラム
-
C言語のプログラミング (基礎...
-
for文を使用して値を代入したい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#if 1 #elseの意味について
-
構文エラー";"が型の前にあり...
-
for文の中にswitch文はいれられ...
-
配列を関数に渡す方法
-
計算結果がlong型以上になる場...
-
プログラミングで二番目に大き...
-
scanf関数を用いての加減乗除%...
-
getcの改行判定
-
C言語で電卓を作成する。
-
配列を使って魔方陣
-
C言語で勉強中(max,min)の出し方
-
C言語階乗の総和を求める
-
VHDLで、case文とwhen文のどち...
-
C言語でのトランプシャッフルに...
-
プログラム
-
while文について、c言語...
-
OpenCVを用いて任意の時間で静...
-
scanfが実行されません
-
C言語 数字以外を入力させない...
-
C言語です
おすすめ情報