• 締切済み

javaプログラミングについて2

自然数nを入力して 1~nで割った時、余りがゼロかどうかを判定し、nの約数とその和を表示するプログラムを作りたいです。 for文の中にifを使用する形でお願いします。 例えば、n=8のときは「8の約数=1 2 4 8の和は15という感じです。 お願いします。

みんなの回答

  • k_kota
  • ベストアンサー率19% (434/2186)
回答No.1

ここは質問するところなので聞きたいことを聞いてください。 %が余りを出す演算子なので片っ端から割ってけばいいんじゃないですかね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語で、「自然数nを入力し、nの約数をすべて求めて出力後、その個数と

    C言語で、「自然数nを入力し、nの約数をすべて求めて出力後、その個数と合計を出力をする。尚、nとして0(ゼロ)以下が入力されるまで、何度も繰り返す」という問題をやっています。 出力例は、(3を入力したとして) 「3の約数は 1  3 約数の個数は2個 約数の和は4」というものです。 そこで、コーディングをしたのですが、先生が開発したコンパイラで運用したところ、フリーズが起きて強制終了してしまいました。先生は、「そんなことはない。フリーズが起きるときはそのプログラムにバグがあるときだ」と言ってました。 そこでコーディングしたプログラムは以下の通りです。 #include <stdio.h> main() {int i,j,n,cnt,sum; printf("自然数=");scanf("%d",&n); while(n>=0){ printf("%dの約数は",n); for(i=1;i<=n;i++){ if(n/i>=0){ j=n/i; printf(" %d",j); sum=sum+j; cnt++; j=0;} } printf("\n"); printf("約数の個数は%d個",cnt); printf("約数の和は%d",sum); }} どこかに間違いがありますか? IF文の中でいちいちめんどくさいことをしていますが、気にしないでください。

  • 至急!助けて下さい。プログラミングJava

    明日までの大学の課題が、わかりません。 どなたか教えてください。書き方が、わかりません。言語はJavaです。 よろしくお願い申し上げます。 1.条件分岐 整数d,xをキーボードから入力させ、 dとzの差の大きさ(絶対値)を計算し、結果を表示するプログラムを作りなさい。 2.繰り返し 整数qcをキーボードから入力させ、1からqcまでの整数を全て表示させるプログラムを作りなさい 3.式 式y=xの二乗+6x+10の値を、x=13から21まで、一つづつ変化させた時のyの値を表示しなさい。 4.和 1から58までの和1+2+3+….+58をプログラムを作って求めなさい。 5.乱数 乱数関数rnd()を使って、変数wgに0~383までの適当な数値を代入し、その結果を出力しなさい。 6.円を描く for文を使って、適当な位置に半径17の赤い円を、87個だけ描きなさい。 7.余り 変数qeに整数を入力させ、その変数qeが6で割り切れたら「割り切れる」と表示し、それ以外は「割り切れない」と表示するプログラムを作りなさい。 *ヒント %演算子で割った余りが求められる。 例えば、5%3は2となる。 8.break文 変数bjに0から1000までの乱数を作っては代入することを繰り返し、bjの値が900以上になったら繰り返しを止めて、bjの値を出力するプログラムを作りなさい。 9.カウント 1から1076までの整数の中で、8で割り切れる数がいくつあるかカウントしてその数を表示しなさい。 以上です。 どうかお助け下さいm(__)m

  • プログラミングの問題

    整数nをキーボードから入力し、1からnまでの数のうち奇数だけを加えた和を計算し表示するプログラム ヒント ・変数xが奇数か偶数かは、MOD(x、2)が0か否かで判断できる。 ・FOR~NEXT構文のなかでも、 IF~THEN~ELSE~END IF 構文を使える。 という問題で、 input n let s=0 for i=1 to n までしかわかりませんでした。 いったいこのあとはどうなるのか、教えてください。 おねがいします。

  • プログラミングCの質問です

    現在10×10の市松模様を表示させるというプログラムを作成しています。 #define文、IF文、for文の使用、printfを使って■と□を表示させることが条件です。 間違っているところの指摘をお願いします。 #include <stdio.h> #define N 10 int main(void) { for( i=1 ; i<=N ; ++i ) { for( j=1 ; j<=N ; ++j ) } if( (i+j) % 2 ){ printf("■"); }else printf("□"); } printf("\n"); i++; } return 0; }

  • BASICのプログラミングについて・・・。

    BASICのプログラミングについて・・・。 以下のプログラムに最大値を表示させるプログラムを追加させたいのですがまったくわかりません。 どこにどの文を当てはめればうまくいくのかも見当つきません。 解答例など挙げていただけると非常にありがたいです。 Web等で念入りに調べたのですが、なかなか理解できませんでした。 なので自分で調べろ等の解答はなしでお願いします。 Sum = 0 Ave = 0 Counter = 0 Input "数を入力して下さい。"; n While n >=0 Sum = Sum + n Counter = Counter + 1 Input "数を入力して下さい。"; n P=P+n^2 SD=(P/Counter-Ave^2)^1/2 Wend SD=(P/Counter-Ave^2)^1/2 If Counter > 0 then Ave = Sum/Counter Print "入力回数 = ";Counter Print "和 = ";Sum Print "平均 = ";Ave Print"標準偏差";SD End if End

  • java

    1からn(入力した値を)までの和をfor文で実現せよ ができません誰か助けて!

  • javaプログラミングについて!

    ただいまjavaプログラミングの勉強をしております。 そこで数字を複数回入力させ、-1を入力すると終了し、その数字の最大、最小、平均を出力するプログラムを作っているのですが、 public static void main(String[] args) { int max = 0; int min = 100; int sum = 0; int count = 0; Scanner sc = new Scanner(System.in); System.out.println("正の整数を入力してください"); int n = sc.nextInt(); while (num01 != -1){ System.out.println("正の整数を入力してください"); sum += n; n = sc.nextInt(); count++; if(max < n) max = n; if(min > n) min = n; } System.out.println("入力された整数の最大は" + max); System.out.println("入力された整数の最小は" + min); System.out.println("入力された整数の平均は" + sum/count); } } このようなプログラミングが作れたのですが、たとえば30と10を入力したときに 最大10 最小-1 平均20 と表示されてしまいます。色々試行錯誤してみたのですが、改善されなかったため質問させて頂きました。原因と解決方法を教えて頂きたいです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JAVAで素数判定

    JAVAの勉強をしてます 練習問題で、素数判定のプログラムをしているのですが。 1~14までの判定はうまくいきますが、15の判定の時に素数であると表示されて困ってます。どなたかわかりませんか? //読み込んだ数字 n が 15 の場合 if(n == 1) System.out.println("素数ではありません。"); if(n == 2) System.out.println("素数です。"); for (int i = 2; i < n; i++) { if (n % i == 0) { System.out.println("素数ではありません。"); break; } else { System.out.println("素数です。"); break; } } --結果---------------------------------------------- 素数です

    • ベストアンサー
    • Java
  • C言語プログラミング

    頼る人がいないので助けて下さい。すべてforを用いて下さい。 (1)入力された数だけ*が表示されるプログラムを用いて作成してください。 (2)4つの数が入力されるとその平均を求めるプログラムを作成してください。 (3)数列an = n^2に関して入力された項数までの和を求めるプログラムを作成してください。

  • n88 BASICのプログラミングについて質問させてください。

    n88 BASICのプログラミングについて質問させてください。 作りたいプログラムは、入力した数の約数を表示して、素数であれば「素数」と表示する。 というものです。約数を列挙することはできたのですが、素数であった場合に「素数」と表示する方法がわかりません。調べてもまったくできそうにありませんでした。 具体的なプログラムを知りたいです。よろしくお願いします。