質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

439閲覧

余りが一番小さく商が一番大きいものが何番目か出力したい

litec

総合スコア6

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

2クリップ

投稿2020/04/22 06:41

最初にスペース区切りで数値を2つ入力してもらい、その数値を元に割り算をしてもらい、余りが一番小さく商が一番大きいものが何番目の変数か出力するプログラムを作りたいです。

入力例
4(4なので4つのスペースを確保)8(割られる数)

6(8÷6=1余り2)ここで割る数を入力
5(8÷5=1余り3)
7(8÷7=1余り1)
3(8÷3=2余り2)

出力
2(余りが一番少なく商が一番大きい)ので

変数の数が変わる上に一つの変数に複数の条件で比較をする方法がわかりません。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/04/22 06:51 編集

余りが一番小さいけど、商が小さいものはどうするんでしょう また、商が一番大きいけど、余りが大きいものとか
litec

2020/04/22 06:56

すいません条件の記載が不十分でした。 余りが一番小さいものが優先になります。余りが一番小さいものの中で一番商がでかい物を選びたいです。 2余り1 3余り1 4余り3 この中だと余りが一番小さいかつ商が一番大きい二番目が答えですね。 また同じ数値は入力しないものとします。
kairi003

2020/04/22 07:44

質問の場合6は0番目なんでしょうか?
guest

回答1

0

ベストアンサー

入力値の最大値が10**10程度と仮定して回答します。

剰余に十分巨大な数を掛けてから商を引いたもの同士を比較して最小のものを求めます。

Python

1N, M = map(int, input().split(' ')) 2min_val = 10**20 3min_index = 0 4for i in range(N): 5 A = int(input()) 6 q, r = divmod(N, A) 7 v = d * 10**15 - r 8 if v < min_val: 9 min_val = v 10 min_index = i 11print(min_index)

投稿2020/04/22 07:34

編集2020/04/22 07:41
kairi003

総合スコア1330

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問