2016-07-30 7 views

答えて

0

を使用する番号を印刷したい場合、私は、私は、これはあなたが何をしようとしてであると仮定し、あなたが本当にやろうとしているのか分からないが

for (int i = 0; i<= 100; i++) 
{ 
    if (i%7==0 || i%10==7) 
     Console.WriteLine(i); 
} 
+0

あなたの質問に正確な結果が表示されますか? –

+0

いいえ、それはありません。 2つのループの結果を結合します。ちょうど彼が聞いたように。 – asibahi

2
for (int i = 0; i <=100; i++) { 
    if(i%7 == 0 || i%10 == 0) 
     Console.WriteLine (i); 
} 

またはLINQを使用して:

Enumerable.Range(0,100).Where(i => i%7 == 0 || i%10 == 0).ToList() 
.ForEach(i=> {Console.WriteLine (i); }); 

あなたも重複結果たい場合:

for (int i = 0; i <=100; i++) { 
    if(i%7 == 0) Console.WriteLine (i); 
    if(i%10 == 0 && i!=0) Console.WriteLine (i); 
} 

    Enumerable.Range(7,100) 
.Where(i => i%10 == 0).ToList().AddRange(
Enumerable.Range(0,100) 
.Where(i => i%7 == 0).ToList()) 
    .ForEach(i=> {Console.WriteLine (i); }); 
+0

2番目のループ内でi = 0は表示されません –

+0

よく私の回答を編集しました –

+0

これは質問と同じ結果ではありません。最初のループは7,17,27などを印刷し、2番目のループは0,7,14などを印刷します。ループはそれをしません。 – asibahi

1

をこれは愚かに聞こえますしかし、それはあなたが望むものを正確に行います。それはちょうどあなたの例のように印刷された値の順序を保持するので、それはきちんとしていないになります。

bool flag = false; 
int factor = 10; 
for (int i = 7; i < 100;) 
{ 
    Console.WriteLine(i); 

    i += factor; 
    if (i >= 100) 
    { 
     if (flag) 
      break; 
     flag = true; 
     factor = 7; 
     i = 0; 
    } 

} 

それは一つのループに渡された2つの操作を行うために、ブールフラグと動的な係数を使用しています。

-1

それは私と私は数学の式

var i = 0; 
while(true) 
{ 
    var x = 7 + (i * 10); 
    if(x < 100) 
     Console.WriteLine(x); 

    var y = i * 7; 
    Console.WriteLine(y); 
    if(y >= 100) 
     break; 
    i++; 
} 
関連する問題