【发布时间】: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