2016-05-04 5 views
-5

loopを使用し、ifまたはswitchの条件を使用せずに、次のような番号を印刷したいとします。ループ内のIFまたはスイッチ状態なし

1 
2 
3 
4 
5 
5 
5 
6 
6 
7 
8 
9 
9 
10 

:ループは数5になると、それは3回反復しなければ、それは6,9に来るとき、それは2回反復しなければなりません。

私は、彼らが条件を満たしていると同じ番号を印刷し、次のコードを持っています。

マイ試してみてください。手始めに

using System; 

public class Program 
{ 
    public static void Main() 
    { 
     Console.WriteLine("Print Numbers 1 To 10"); 
      for (int i = 1; i <= 10; i++) 
      { 

       Console.WriteLine(i==5 || i == 6 || i == 9 ? i.ToString() + Environment.NewLine + i.ToString() : i.ToString()); 
      } 
      Console.ReadLine(); 
    } 
} 
+6

これは数字の固定セットのように思えるが、それは本当ですか? もしそうなら、それらを配列に投げ込んでそれを繰り返し処理するのはなぜですか? – Xceno

+10

これを実行する唯一の方法は、数値と反復する必要がある時間との数学的関係を決定することです。数学的関係がない場合は、コード内にあるような条件付きロジックを持たなければなりません。 (コードがするように) –

+2

が5この質問の目的は何 –

答えて

3

はこのお試しください:あなたは、あなたは、次で必要なものを実現することができ、あなたが前の値を繰り返したいi = 13位置i = 6i = 7i = 9

for (int i = 1; i <= 14; i++) 
    Console.WriteLine(i - i/6 - i/7 - i/9 + i/12 - i/13 + i/14); 

をして、そうi/_を引くが、なぜなら1214減算i/6と二回カウントi/7開始からi/12i/14を追加する必要があります。

1

?マーク演算子はif文です。だからそれを使用している。しかし、配列を作ることができます:

int[] myNums = {1,2,3,4,5,5,5,6,6,7,8,9,9}; 
for (int i = 0; i < myNums.length; i++) { 
Console.WriteLine(myNums[i]); 
} 
+0

に配列を移入するには条件付きブロックが必要です。もし彼がそれをやろうとすれば、彼は元のコードを使うかもしれない。 – dfdsfdsfsdf

+0

'? 'はif文であり、同様の機能を持っているかもしれませんが全く異なるセマンティクスを持っています。これが宿題であり、特に陳述書が除外されていれば、三者のような選択肢の使用について考えさせることかもしれません。 –

+0

私はOPには役に立たないというチャンスがあまりにも高いので、この質問の将来の訪問者にもかかわらず、この回答をダウン投票しました。それは "ループを使う"という精神に違反しているようですが、それが許されているかどうかについては全く明らかではありませんが、不明確な答えは潜在的に間違った答えではありません。 –

0

数字と反復回数の関係を辞書に保存することができます。印刷する番号がキーになり、印刷する回数が値になります。

var printNumbers = new Dictionary<int, int> { { 1, 1 }, { 2, 1 },{ 3, 1 },{ 4, 1 },{ 5, 3 }, { 6, 2 }, { 7, 1 }, { 8, 1 }, { 9, 2 } }; 

     foreach (var num in printNumbers) 
     { 
      for (int i = 0; i < num.Value; i++) 
      { 
       Console.WriteLine(num.Key); 
      } 
     } 
+0

私はこの回答をダウン投票しました。単にこの質問の将来の訪問者にもかかわらず、OPには役に立たないチャンスが大きすぎるからです。それは "ループを使う"という精神に違反しているようですが、それが許されているかどうかについては全く明らかではありませんが、不明確な答えは潜在的に間違った答えではありません。 –

+0

質問には、何が印刷されるべきかを明示的に指定するのではなく、いくつかの(私たちには知られていない)規則に基づいて何回印刷するべきかを決定するアルゴリズムが必要であることが示唆されているように思われます。 – user1666620

関連する問題