裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

三角形は何通り?

2016年12月31日 | ブログラミング

いつもの通り,締め切りが 2016/12/31 10:00 AM なので,その 1 分後に投稿するように予約

【問題】
入力nに対して
1≦a≦b≦c≦n(a, b, c, nはすべて整数)を満たすa, b, cの中で、これらを3辺とする三角形が成り立つ場合の組み合わせを求めるプログラムを書いてください。

【入力】
標準入力から、整数n(1≦n≦1000000)が与えられます。

【出力】
標準出力に、条件を満たす組み合わせの総数のみを出力してください。

たとえばn = 3とすると、(a, b, c)のすべての組み合わせは、

    (1, 1, 1)
    (1, 2, 2)
    (1, 3, 3)
    (2, 2, 2)
    (2, 2, 3)
    (2, 3, 3)
    (3, 3, 3)

の7通りになりますので、7と出力します。

==========

 

いつもの定石。簡単なプログラムを書いて,n=1,2,3,... の場合の答えを求め,「オンライン整数列大辞典」を参照する。

f = function(n) {
    options(scipen=100)
    cat(floor((n+1)*(n+3)*(2*n+1)/24))
}

> f(3)
[1] 7
> f(1000)
[1] 83708750
> f(10000)
[1] 83370837500
> f(1000000)
[1] 83333708333750000

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« html タグの入れ子の間違い探し | トップ | ジェット機をプレゼント »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事