【问题标题】:How to do the loop and solve the following如何进行循环并解决以下问题
【发布时间】:2018-05-06 09:11:01
【问题描述】:

我应该像在学校一样编写一个写出除法的程序。

例子:

13:3=4.333333333333
13
 1
 10
  10
   10....

所以我的方法是: 解决除法然后在List 中获得解决方案。 然后询问第一个数字(在本例中为 1)是否能被 3 整除。 如果没有放下它并添加第二个数字等等......

我第一次就做到了。这很草率,但很有效。问题是它只适用于除以后有小数的数字。 示例: 123:13

这是第一个代码:

do
{
    for (int number = 1; number <= divNum; number++)
        if (number % divisor == 0) countH++;
    for (int i = 0; i < count; i++)
        Console.Write(" ");

    if ((c = divNum % divisor ) < divisor )
    {
        Console.WriteLine(" " + ((divNum- (countH * divisor ))) * 10);
    }
    else Console.WriteLine(" " + (divNum- (countH * divisor )));
    c = divNum % divisor ;

    if (c < divisor )
    {
        divNum = c * 10;
    }

    count++; countH = 0;


} while ((divNum >= divisor ) && (count < x));

有什么想法或帮助吗?抱歉,如果这是一个不好的问题。

************已添加 尝试更好的解释:

1 不能除以 13,所以它下降了,我们将 2 下降并尝试 12 除以 13,仍然没有,所以我们将 3 下降并尝试 123:13,13 在 123 中经过 9 次,所以我们有123-9*13 = 6 六个下降,我们在结果中写入 9。我们尝试 6:13 不走,所以我们在 6 旁边放一个 0。接下来我们尝试 60:13,13 走 4 次,所以 60-4*13 = 8,我们得到 8。等等……

123:13=9.46153....
123
  60
   80
    20
     70
      50
       ....

【问题讨论】:

  • 请格式化你的代码,散的太乱了很难看。
  • 如果占卜是一个问题,请注意三月的想法。
  • 你可以使用三元运算符来修剪 if else hell。和逻辑门来简化流程
  • 请在您的问题中解释 - 什么是“a”,什么是“b”。尝试给出有意义的名称,代码将更易于阅读和修复。
  • 对不起,对这一切还是陌生的,a 是我们要除的数,a bi 是我们用它除的数。 13:3=4.3333333333....其中a=13,b=3

标签: c# .net math


【解决方案1】:

这样的事情应该可以工作。最有可能不是最快的解决方案,但应该可以完成这项工作。

var number = 123;
var b = 12;
int quotient;
double remainder = number;
var x = 10;
do
{
    quotient = (int)Math.Floor(remainder / b);
    remainder = remainder - (quotient * b);
    for (int i = 0; i < count; i++)
        Console.Write(" ");

    remainder *= 10;
    Console.WriteLine(" " + remainder);    
    count++;    

} while ((remainder > 0) && (count < x));

【讨论】:

  • 这和我现在的差不多。也许会在问题中添加一些新的解释。
  • 添加的解释仍然不能真正帮助解决真正的问题是什么。你能举个不成立的例子吗:数字是多少,会发生什么,打算发生什么?
  • 很抱歉回复晚了。我不得不做这样的事情(也很抱歉视频是克罗地亚语)youtube.com/watch?v=zoTIBlVfcmk我认为我正在解决这个问题。
猜你喜欢
  • 2021-03-12
  • 2019-07-09
  • 2017-06-24
  • 1970-01-01
  • 2019-01-09
  • 1970-01-01
  • 2023-02-21
  • 2014-05-03
  • 1970-01-01
相关资源
最近更新 更多