私はCで次のタスクを得ました。ユーザーが2つの整数を入力し、n1とn2と呼んでn1 < = n2としましょう。 プログラムは、n1とn2(n1とn2を含む)の間のすべての可能な整数を出力しなければならず、数値のすべての桁の値が増加しています。 たとえば、ユーザが1234と1260を入力した場合、0は4より小さいため、1236,1237,1238,1239は印刷されますが1240は印刷されません。 次に、1356,1357,1358,1359が印刷されます。数値を比較する方法
私は配列を使用することはできません(それ以外の場合は非常に簡単です)。 だから私は、次の擬似コードを思い付いた:
- 数n1を取り、それが持っている桁数をカウントループを作成します。
- 次に、n1(桁数-1)回を分けるループを作成し、その結果の残りの部分では%を行います。 この時点では、数字が残っています。
- 次にn1をもう一度とり、それを2桁の桁数で除算し、結果の残りの部分では%を行います。 この時点で、別の数字が残っています。
- 2桁の数字を比較します。最初の桁が2番目の桁より小さい場合は、桁の位置を昇格させて桁を縮め続けます(digitsNum--)。
- ループステップ2-3-4で行います。
- すべてチェックアウトすると、n1が出力されます。
- n1(n1 ++)、(n2まで)
- をすべてループします。
問題は、私が使用することができますどのようにすべてのrestricionsで、私は実装が私のソリューションは非常に難しい見つけ、そして私が開始すると、私は一つの大きな混乱を得ることです。 どのように改善することができますか?
あなたがこれまでに行ったことを、たとえ間違っていることを示してください。 –
制限は何ですか? – dbush
これまでのところあなたの研究/デバッグの努力を示してください。まず[Ask]ページをお読みください。 –