• 締切済み

c言語について

C言語のループのところで詰まってしまってわからないので2問ほど教えていただきたいです。 (1)nから1までの自然数を以下のように対角的に印字せよ。 Enter n:20 20 -19 --18 ---17 ・ ・ ・ ・ -----------------3 ------------------2 -------------------1 (2)入力した数に応じたピラミッドを作れ。 (i)奇数の場合 Enter:5 1 12 123 1234 12345 (ii)偶数の場合 Enter:8 1 22 333 4444 55555 666666 7777777 88888888 という問題なんですがわかるかたお願いします。

みんなの回答

回答No.1

どこが解らないのかを書かないと、宿題の丸投げだから誰も答えないよ。 それにC言語には入出力の概念がないから処理系を明示しないと駄目だ。

関連するQ&A

  • 偶数と奇数の和は奇数になることを説明しなさい

    中2の数学の問題です。 問題: 偶数と奇数の和は奇数になることを説明しなさい。 問題集の解答で疑問に思う点がありましたので質問させていただきます。 解答: m,nを自然数とすると偶数は2m、奇数は2n-1と表せる。 2数の和は、 2m+2n-1=2(m+n)-1 m+nは自然数だから2(m+n)は偶数になり、2(m+n)-1は奇数になる。 よって偶数と奇数の和は奇数である。 (証明終わり) 上記証明でわからない点が2点あります。 (1)m,nをなぜ自然数に限定しているのか。 m,nは一般に整数ではないのでしょうか?中学レベルではマイナスの数も 偶数、奇数が定義できると思うので、私はこのm,nは整数と置くのが正しい 答え方だと思うのですが、いかがでしょうか? (2)もしm,nが自然数と置くのが正しいとしたとき、奇数を2n+3とおいてしまうと 3(n=1)から始まる奇数になり一般に自然数全体で証明したことにならないの ではないかという疑問があります。 2m+2n+3=2(m+n+1)+1 このような解答も見かけます。 文字式の計算上は奇数といえますが、nが自然数で奇数を2n+3とおいても 問題ないのでしょうか?  ご回答よろしくお願いします。   

  • 数学Iの集合と論証について教えてください

    集合と論証が全く分からないので、教えてください。 (問題)nが自然数のとき、次の命題が真であることを証明しなさい。 (命題)(n+1)^2は偶数⇒nは奇数 (証明) 与えられた命題の対偶 nは偶数⇒(n+1)^2は奇数 が真であることを証明する。 nを正の偶数とすると、mを自然数として n=2m+2 と表すことができる。このとき、 n+1=?? ??が分かりません。普通に2m+2+1で良いんですか? あと上の証明は合ってますか?

  • 正n角形の対角線の交点の数I(n)についての予想

    正n角形の交点の数I(n)を調べてみると(実際書きましたw) 二つの予想がでました。 予想その1 nが奇数のときかつ4以上のとき I(n)をn=4から順にもとめていくと I(n)=奇数、奇数、偶数、偶数、奇数、奇数・・・ となることに気がつきました。 ちなみにこのときのI(n)=nC4と考えています。 予想その2   nが偶数のとき I(n)=奇数となることに気がつきました。 ちなみにこのときのI(n)の式はまだ分かっていません。 どなたかこの二つの予想を証明or反例をあげてください。 一応参考として、 正n角形の交点の数 I(n)=1(n=4)               5(n=5)               13(n=6)               35(n=7)               49(n=8)               126(n=9)               161(n=10)               330(n=11)               301(n=12) n=7、9、11のときはうまくかけなかったので 正確でないかもしれませんorz (がんばってできるだけ正確に書いたつもりですが)

  • 【奇数+偶数=奇数の証明】 これって間違いですか?

    『奇数+偶数=奇数』の証明です。これは間違いでしょうか? nを自然数とすると、偶数は2n、奇数は2n+1で表せるから、 2n+(2n+1)=4n+1 nは自然数だから、4nは偶数である。 よって4n+1は奇数となり、奇数+偶数=奇数である。 よろしくお願いします。

  • C言語

    C言語初心者です。 整数を入力しその数が偶数ならプログラムを終了する。奇数ならそれが3の倍数か3の倍数でないかを表示する。入力した数が奇数ならこの操作を何回も繰り返すプログラムを作りたいです。 このプログラムのソースを教えてください。

  • C言語の余剰演算子について

    読みにくい文章ですみませんでした 学校の課題(C言語)で 書いてある数字の奇数、偶数、負の数を調べて、それぞれの数をだせ という課題で負の数は0以下を++でカウントしていくのは調べてわかったのですが、 奇数偶数を調べるときに「余剰演算子」「%」を使って調べるみたいなのですが、 学校の講義で余剰演算子を習ってないのに使うのはだめだと思うので、 余剰演算子を使わずに余りを出して、奇数・偶数を調べるのはどうすればいいのか教えてください。

  • C言語!プログラム書いたのですがエラーです!

    課題内容 キーボードから数字を入力してその値までの合計を表示する。 さらに入力した値が偶数なら0から入力した値までのすべての偶数の和を 入力した値が奇数なら1から入力した値までのすべての奇数の和を表示するプログラム。 #include<stdio.h> int main(void) { int i, n, sum; sum=0; scanf("%d",&n); printf("入力値:%d\n", n); if(n%2 = 0) { for(i=0;i<=n;i+=2) { sum=sum+i; } printf("合計値:%d\n",sum); } else { for(i=1;i<=n;i+=2) { sum=sum+i; } printf("合計値:%d\n",sum); } return(0); } これでコンパイルすると10行目に左辺値が必要とでます。 どうすればよいでしょうか? 教えてください。よろしくお願いします。

  • (-1)^nでnを無限大にとばしたとき

    大学受験用の参考書にて、 (-1)^n はn→∞において、 nが偶数のとき1 nが奇数のとき-1 となっています。 さらに、 2n乗では1 2n±1乗では-1 となっています。 そこで質問なのですが、以前に無限大というのは数ではなく量だと聞きました。それなのになぜ偶数や奇数があるのでしょうか。また2nや2n±1でわかれるということは、無限大というのは自然数なのですか?

  • 助けてください

    10は偶数で5の倍数です。 11は素数です。 12は偶数で6の倍数です。 13は素数です。 14は偶数で7の倍数です。 15は奇数で5の倍数です。 16は偶数で8の倍数です。 17は素数です。 18は偶数で9の倍数です。 19は素数です。 20は偶数で10の倍数です。 と出力させたいのですが、 H:\>java SuuNoSyurui 11は奇数で0の倍数です。 12は偶数で0の倍数です。 13は奇数で0の倍数です。 14は偶数で0の倍数です。 15は奇数で0の倍数です。 15は素数です。 16は偶数で0の倍数です。 17は奇数で0の倍数です。 17は素数です。 18は偶数で0の倍数です。 19は奇数で0の倍数です。 19は素数です。 20は偶数で0の倍数です。 -- Press any key to exit (Input "c" to continue) -- こうでてしまいます。 下のが立てたプログラムです。 public class SuuNoSyurui { public static void main(String[] args) { int i=1,j=2; int n1=10; int n2=20; int n=n2-n1; int baisu=0; for(i=1;i<=n;i++) { if (i%2==0){ System.out.println("\t"+(i+n)+"は偶数で"+baisu+"の倍数です。"); } else { System.out.println("\t"+(i+n)+"は奇数で"+baisu+"の倍数です。"); } for(j=3;j<=(i-2);j +=2) { if (((i-2)%j==0) && ((i-2)%2)==1){ System.out.println("\t"+(i+n)+"は素数です。"); } } } } }

  • C言語でのプログラミングの問題が分かりません。

    C言語でのプログラミングの問題が分かりません。 課題で出た問題なのですがわからないのでおしえてください。 問題は 値を入力します(nとします) nが1でない間、以下の処理を繰り返します。  (1)nが偶数のとき、nを2で割り、その答えを新しいnとします。  (2)nが奇数のとき、nを3倍してから1を加え、その答えを新しいnとします。 というものです。 if文を使い計算はできたのですが、「繰り返し」と「新しいnとする」部分が分かりませんでした。作成したプログラムを載せるので手直しお願いいたします。 int n,x,y; printf("整数を入力"); scanf("%d",&n); while (n>1) if (n%2) printf("%d",x=n*3+1); else printf("%d",y=n/2); putchar('\n'); return(0); です。このままだと無限ループしてしまうので繰り返しの条件が悪いみたいです。 それと、答えをnに入れたいのにx、yを使ってしまっています。 回答お願いします。