• ベストアンサー

『あまり』を均等に割り当てる方法

m÷nであまりが出た場合にあまりを均等に割り当ててn個のデーターを作ります。 例えば、 15100÷5000=3とあまり100となり、 このあまり100を5000個のデーターに均等に割り付けます。 この単純な例では、 50個ごとに1を加えるデーターができれば良いです。 3333...<--3のデーターが49個50個目が1加えられて4というような。 半端な分は無視できます。 どうかお願いいたします。

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

  • ベストアンサー
回答No.5

No1,4です。 kintouとkintou()がかぶってますね・・・・すいません。 for i=0 to 5000 kintou(i)=除算の整数部 next kannkaku = 5000\除算の整数部 for i=kannkaku to 5000 step kannkaku kintou(i)=kintou(i) + 1 next 又は 除算の整数部=15100\3 kannkaku=5000/除算の整数部 for i=0 to 5000 kintou(i)=除算の整数部 + (i\kannkaku)^0 next と、ちょっと修正させてください。

colhan
質問者

お礼

皆様、回答ありがとうございます。 このプログラムは、サーボモーターの移動量を均等にするのに使うつもりです。 全移動量、mパルスをn回に分けて移動させます。 あまりを無視すると、移動量が短くなってしまい、均等に載せないと移動量が偏ってしまいます。 あまりの載せ方で、移動量が偏りを防ぐつもりです。 早速皆様の方法を試してみます。

その他の回答 (4)

回答No.4

No2の方のを見てよーやく理解しました。 kintou(0) = 3 kintou(1) = 3 ・・・・ kintou(49) = 3 kintou(50) = 4 kintou(51) = 3 ・・・ ですか。 なら、 除算の整数部=15100\3 for i=0 to 5000 kintou(i)=除算の整数部 next kintou = 5000\除算の整数部 for i=kintou to 5000 step kintou kintou(i)=kintou(i) + 1 next 又は 除算の整数部=15100\3 kintou=5000/除算の整数部 for i=0 to 5000 kintou(i)=除算の整数部 + (i\kintou)^0 next ですかね。 下のほうが毎回計算しているので実行速度は遅そうですが、ソースが短いと思います。 毎度ですが、試してないので改良が必要かと思います。

  • galoon
  • ベストアンサー率28% (38/133)
回答No.3

簡単に作ってみました。 Sub kintoh() Dim cnt As Integer Dim answer() As Integer Dim gokei, kosu As Long ' 割り振る元の合計値 ' gokei = 15100 ' 均等割の個数 ' kosu = 5000 ' 結果配列初期化 ' ReDim answer(kosu) As Integer For cnt = 1 To kosu ' Excelシミュレート用の出力 ' answer(cnt) = Int(cnt * gokei / kosu) - Int((cnt - 1) * gokei / kosu) ' 確認用 ' Debug.Print answer(cnt) Next cnt End Sub

colhan
質問者

お礼

実際に作ってみました。 上手く説明出来ませんが 貴方の式はパーペキ(パーフェクトに完璧)でした。 どのケースに於いても完全に均等に割り振れました。 ありがとうございました。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

n番目の「位置」=15100÷5000×nを切り捨て n番目の「データ」=n番目の「位置」-(n-1)番目の「位置」 では? Pos(00)=0 Pos(01)=3 Pos(02)=6 ~ Pos(49)=147 Pos(50)=151 Pos(51)=154 となりますから、 Data(01)=Pos(01)-Pos(00)=3 Data(02)=Pos(02)-Pos(01)=3 ~ Data(50)=Pos(50)-Pos(49)=4 Data(51)=Pos(51)-Pos(50)=3 となるハズ。

回答No.1

あまりを均等に分けるのは kintou=5000\100 for i=0 to 5000 step kintou kintou(i) = 1 next 見たいな感じじゃないですか? あんまり考えないで作ったので修正必要と思います。大体の考え方はこれでいいと思います。 >3333...<--3のデーターが49個50個目が1加えられて4というような。 この部分意味分からなかったので、自分でどうにかしてください。

関連するQ&A

  • 元利均等と元金均等

    住宅ローンの返済方式として、元利均等と元金均等があります。利息の支払総額ということでは、元金均等の方が有利だという説明がよくあり、○円を○%の利息で○年の期間で返済する場合、元金均等の方が○円分安くなるなどといった具合です。 さてここからが本題ですが、同じ金額を同じ期間で返済する場合、何%くらいの利率の差があれば、元利均等と元金均等支払い総額が同じくらいになるのでしょうか? 私の希望としては、とにかく支払総額を減らしたいと思っているのですが、例えば、A銀行が元金均等であり、A銀行より利率の低いB銀行が元利均等であった場合、B銀行の利率がA銀行に比べて何%くらい低ければ、一般的には利息支払総額が高くつくと言われている元利均等であったとしても対抗できるのかと思いました。 なお、ここでは繰り上げ返済等の別の要素は全く考慮していません。 概数で結構ですので、ご教示いただけると幸いです。

  • 元利均等払い、元金均等払いについて

    あるローンシステムの広告にて、元利均等払いか元金均等払いを選択する・・・というような記述がありました。 元金均等払いの場合、一体いつ金利分を払うのでしょうか。稚拙な質問ですみません。

  • 順列と重複順列の組み合わせ

    順列について、質問があります。 n個の数から、重複可でr個取り出した場合は、nPrとなるかと思いますが、 n個のうち、m個については重複不可とする場合の順列はどのように求めればよいでしょうか。 例)A,B,1,2,3から6つ取り出す。(但し、A,Bについては重複不可)

  • 均等償却について

    均等償却についてですが、3年間の場合は、0.33%、0.33%、0.34%と分けて  かまわないのでしょうか? 1年かけて0.33%償却する場合、いつ償却しても  いいのでしょうか? それとも、さらに12月分に分けて毎月償却するのか

  • 中央値の大小関係について

    中央値の大小関係について n個のデータがあるとき、データの中央値 m を以下のように定義します。 中央値= 小さい方から (n+1)/2 個目のデータ 〔nは奇数〕   小さい方から n/2 個目のデータと n/2+1 個目のデータの平均 〔nは偶数〕 次にn個のデータを n1個とn2個のデータに分割(n1+n2=n)し、 n1個のデータの中央値を m1 n2個のデータの中央値を m2 とします。 このとき、  m1<m かつ m2<m となることは有り得るのでしょうか? 某プログラム言語を使ってデータ分析をしていたところ上記のような結果が発生しました。 直感的にはないと思うのですが。プログラムミスでしょうか?よろしくお願いします。

  • 住宅ローン 元利均等と元金均等

    はじめまして。 住宅ローンについて、ご教示ください。 この度、マンション契約に際し、住宅ローンを申し込みました。 金融機関からは、元金均等ではなく元利均等であれは融資OKと回答をいただきました。 私たちの希望としては、元金均等が良いと考えています。 そこで教えて頂きたいのは、元利均等で融資をうけて 元金均等だった場合の返済額の差額分を毎月繰り上げ返済すると、そもそも元金均等契約をした場合と同じ効果がえられるのでしょうか? 繰り上げ返済は1円から可能で、返済手数料は無料です。 また、私は今年か 役職があがり、年収が300万ほどあがったのですが、マンションの販売会社が言うには、2017年の1月に2016年度の源泉徴収票をもって再審査を依頼すれば、元金均等返済に変更できるだろうといっていました。 これは本当なのでしょうか。

  • N個の整数の並び替えるアルゴリズム

    N個の整数1,2,3,...Nから任意のM個(M < N )を取り出すのですが、重複はダメという場合、どのようなアルゴリズムがあるでしょうか。重複ありなら、Nまでの一様乱数を発生させて整数化して取り出すことは可能です。今回は重複なしです。重複があったらやり直して重複なしになるまでやり続けるというのはダメだなと思っています。 データ処理言語のRはコマンド1つのようですが。言語はFortranなのですが、アルゴリズムのレベルだとどれでも同じと考えています。よろしくお願いします。

  • 分散が変わらないように、データを1個加えるには

    n個のデータがあって、その平均は"m"、分散は"σ^2"であるとします。 分散(標準偏差)が変わらないように、1個のデータを加えるにはどんなデータを加えればよいのでしょうか? "n"と"m"と"σ"で表せるのでしょうか?

  • データの数を数えるfortran プログラム

    横にm個、縦にn個の実数データが整然と並んでいます。ファイルを開いて読み込むのですが、縦横に何個のデータがあるかプログラムに感知させる方法があるでしょうか。 縦にn個のデータがあることは簡単でした。しかし横にm個あることを感知させるのが難しいです。今は、とにかく全データの個数を調べて、その個数をnで割って求めています。 全データを読む方はは、1個読んで巻き戻し、2個読んで巻き戻し、3個読んで巻き戻し、.... としてデータをこれ以上読めないというところまで読んでその個数が全データということになります。この部分がかなり時間を使います。データを開いてエディタで1行目のカラム数を数えればいいわけですが、プログラム的にはどうなるでしょうか。Cだったら、改行を感知させるという方法があるかもしれません。Fortranだったらどうなるでしょうか。 ※Fotranの専門の会議室がないのかなと思っていますが。

  • 元金均等払い・元利均等払いどちらを選択するべきでしょうか。

    買いか待ちか散々悩んで、結局4530万円の新築マンションを契約しました。新婚で頭金は400万と少なく、公庫2170万+都銀(変動金利)1960万の35年ローンを組む予定です。一生住めればよいのですが、子供の人数等の関係で10年後位での買い換えの可能性もあります。いざ買い換えたくなった際の元金割れを最小限に留めるために「元金均等払い」と「元利金等払い+繰上げ返済」とで悩んでいます。 ((1)~(3)は金利上昇がないものとして概算を教えて頂ければと思います) (1)元金均等でいく場合、当初の返済月額は約何万円になるでしょうか? (2)元金均等・繰上げなしの場合、10年間でいくら返済済みで、元金残高はいくら程度でしょうか? (3)元利均等+毎年定額の繰上げ をする場合、10年後時点の月額内訳を「金利分<元金分」とするためには、毎年いくらの繰上げ返済が必要でしょうか? (4)元金均等を選択して、途中で元利金等に変更することは可能なのでしょうか? (5)また、現在は共働きで年収1300万程度ですが、3~5年後に産休で年収700万の期間が一時ありそうな事や、金利が今後上がりそうなことも考慮した上で、元金と元利とのどちらが賢明な選択でしょうか?