• ベストアンサー

3の倍数と3の付く倍数の表示について!

if (count % 3 == 0 || count % 10 == 3 || count / 10 == 3) { hoge = "文字列代入"; } 的な条件式ですが。 この条件式の説明の仕方について困ってます。 count % 10 == 3 と count / 10 == 3 についての分かりやすい説明の仕方を教えてください。 この条件式は何を表しているのでしょうか?

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.1

'count % 10 == 3'の % は剰余演算子というのはご存知ですよね? この場合、10で割ったときに余りが3であるような数値かどうかを判定しています。 例えば、3,13,23,33,43,…がこれに該当します。 ※)ちなみに3や33は3の倍数でもあるので、最初の条件式'count % 3 == 0'がtrueになりますが・・・。 また'count / 10 == 3'ですが、これは10で割ったときの商が3であるような数値がどうかを判定しているのですが、こちらの条件式は1つ注意する点があります。 例としてcount=38の場合を挙げてみます。 count=38の場合、'count / 10'の計算結果は3.8になるように予想されますが、実際には'int型の数値 / int型の数値'の計算結果はint型になります。 このとき小数点以下の部分は切り捨てられます。 つまり、この計算結果は3.8でなく3になります。 上記の理由で'count / 10 == 3'に該当する数値は、30,31,32,…になります。

namako222
質問者

お礼

ありがとうござます! 簡単に理解する事ができました(^0^) 丁寧な説明ありがとうございました♪

関連するQ&A

  • エクセルで自セルの表示を変更できますか?

    こんにちは、さっそく質問させていただきます。 エクセルで 「A1にhogeと入力すると、A1のhogeという文字列がfooという文字列に変わる」 というに シートもセルの位置も変えないで、入力したセル自身の表示を変えたいのです。。 しかし、セルには式を書かないといけないでしょうし 式を書いたところに入力したら上書きされて式がなくなってしまうと思います。 ちょっと特殊な使い方ですがこんなことはできるのでしょうか? よろしくお願いします。

  • asp:所定の文字列が含まれているかどうか判別したい

    hoge = request("hoge") if (もしhogeの中に「aaa」の文字列が含まれていたら) then response.write "aaaがありますよ!" end if という処理を作りたいです。 (もしhogeの中に「aaa」の文字列が含まれていたら) の処理がよく分かりません。HELPください。

  • Ruby 最初のセパレータで文字列を二つに分解

    Rubyで、どうか書いたらよいですか? 文字列を最初(最左)の=で分割し、x,yにそれぞれを代入したいです。 例)"hoge=1&piyo=2" x => "hoge" y => "1&piyo=2" また、hoge=のように=の右が無い場合、yに""を代入したいです。

  • perl のif文(条件式)内に代入式は使えない?

    例えば、$a =1 という代入式を、if 文の条件式として、( $a = 1){ } とするとエラーが出ますが、代入式はif文の条件式として使えないのですか?

    • ベストアンサー
    • Perl
  • エクセル 昭和を3と表示する式について

    エクセル2007です。 S28.6.12を3280612と表示するため調べたところ次の式でうまく表示できました。 =IF(COUNT(A1),FIND(TEXT(A1,"G"),"MTSH")&TEXT(A1,"RMMDD"),"") この式の中で判らないところがあります。 一つは、COUNT(A1)です。 COUNT関数は、数値データのセルを数える関数ですが、この数式でCOUNT(A1)(結果は1になります)を使うのかということです。 又次に判らないところは、 1の時に文字列が開始位置から何番目にあるかを返す、FIND関数で検索文字列をTEXT(A1,"G")とするのか、その中の"G"はなにを意味するのか さらに対象がFIND(TEXT(A1,"g"),"MTSH")でこの結果が3になるのか TEXT(A1,"RMMDD")の中のRは何を表すのか、そしてこの答えが"280612"なるのか 質問をしていて何か判らないことだらけで混乱してますが、お判りの方教えてください。

  • if文の条件式について

    iPhone OS 3.0、Xcode 3.1.3という環境でobjective-cをベースとしてiPhone向けアプリケーションを作る研究をしています。 どちらかというとC言語の質問になりますが、if文で使う条件式にNSString型で宣言した文字列を使うにはどうすればいでしょうか? NSString *startArea = [[NSString alloc] initWithFormat:@"pt.x > 224 && pt.y < 100"]; というコードでstartAreaに代入されたpt.x > 224 && pt.y < 100という文字列をif文の条件式として使えればと思ってます。 ちなみに、、、 if( startArea ){ 実行したい命令 } という記述をしたところ、ビルドエラーは発生しませんでしたが条件が無視されてしまいました。 他にコードの間違いがあるかもしれませんが、まずはこの内容で判断をお願いします。

  • 数値を2進数文字列に変換するものなんですが・・・

    数値を2進数の文字列に変換するプログラムを関数として作成しているんですが、わからないことがあるのでお願いします。 char *itob(int value, int size, char binary[]) { int count = 0; /* binaryの添え字 */ int bit = size * 8; /* ビットになおす */ int mask = 1 << bit - 1; /* 先頭ビットに1を立てる */ /* 数値を2進数の文字列に変換する処理 */ do { if(value & mask) { /* valueとmaskのAND(論理積) */ binary[count] = '1';/* '1'を代入 */ }else { binary[count] = '0';/* '0'を代入 */ } value <<= 1; /* valueを左へ1ビットシフト */ count++; /* countを1たす */ }while(count < bit); /* 繰り返しを行う条件 */ binary[count] = '\0'; /* 最後に'\0'を入れる */ return binary; /* 変換した値を戻り値として返す */ } この前にもプログラムがありますが、コンパイルして実行する際に 10001 1110 と入力したら、 11111 という答えを出したいのですが、 これを実行すると、 00000000000000000000000000011111 となってしまいます。 これを11111とするためにはプログラムにどのような処理をすればよいのかわかりませんのでどなたかおわかりのかた解説をお願いします。

  • エクセルの文字の置き換えについて

    A列に入っている文字列を数字に置き換える関数を教えてください。 ただし、「いちご」なら1 だけではなく、 「いちご」なら1、「メロン」なら2、「すいか」なら3・・・ と条件式をいくつか入れた方法が知りたいのです。 もし、IFやSUBSTITUTEを使うのであれば 条件式が1つしか入れられないので条件式をいくつか入れる方法 もしくは条件式を組み合わせる方法を教えてください。

  • ユニークな文字列を順次, 生成する関数

    C++において, 適当な文字列を元に, ユニークな文字列を順次, 生成する関数を作りたいと思っています. (LISPで云う, 関数gensym()と似た役割を持つ関数です.) 例えば, "hoge"というstringを元に, "hoge0", "hoge1", "hoge4", "hoge8", "hoge100", ...., といったように, stringが互いに重複しないように, 適当な数字を連結した文字列を順次生成したいのです. 以下のように, 私なりの方法を考えてみたのですが, これだと, 今まで生成したstringを保存するhoge_setが必要になります. 何かより良い(シンプル, 効率的な)方法がありましたら, 教えていただけますでしょうか? よろしくお願い致します. (乱数を用いた方法) 1. 元となるstring型の変数nameを, "hoge" で初期化. 既に作成したstring文字列を保存する, set < string > hoge_setを宣言. 2. 乱数を生成し, それをnameにappendしたものを, string型の変数name2に代入. 3. 同じ文字列が存在したら, 2. に戻る. 同じ文字列が存在しなかったら, hoge_setに追加する.

  • If文の条件文の書き方

    お世話になります。 Excelでマクロを作成しております。 内容:  あるセルに、X<=300 というような条件を入れておきます。  ある値、たとえば、500 が来たときに、Xに代入して、  500<=300 という条件式を作り、それが、正しいか、正しくないか  の結果を求めたいと思っています。 このとき、if文の条件文は、値によって、変わらなくてはいけないので、 文字列の置き換え等をして、変数として条件文を作ると、「型が違います」 のエラーになります。 どのように条件文を作ればいいでしょうか?? hani = Cells(1,1).value 'セル1,1に、X<=300 が書かれています。 exp = Replace(hani, "X", 500) '"X"を500と置き換えます。 If exp Then Check = 0 Else Check = 1 End If よろしくお願いします。

専門家に質問してみよう