工资上的便士-数学计算-C#
我想在X天内把硬币的数量翻一番 所以,3天=4便士,4天=8便士,等等 我一直在寻找正确的代码:(我知道我很接近,我知道我错过了一些愚蠢的东西。我已经花了5个小时在这个问题上。我只是想看看解决方案,这样我的头脑就会把它放在如何工作上…) 我终于明白了。。。现在。。。我怎样才能清理这个??我还在学习用更少的代码来写。。。但我现在正在关注一本w/VisualC的书工资上的便士-数学计算-C#,c#,C#,我想在X天内把硬币的数量翻一番 所以,3天=4便士,4天=8便士,等等 我一直在寻找正确的代码:(我知道我很接近,我知道我错过了一些愚蠢的东西。我已经花了5个小时在这个问题上。我只是想看看解决方案,这样我的头脑就会把它放在如何工作上…) 我终于明白了。。。现在。。。我怎样才能清理这个??我还在学习用更少的代码来写。。。但我现在正在关注一本w/VisualC的书 // Local variables. / int daysWorkedInputVal
// Local variables. /
int daysWorkedInputValue;
decimal currentPayRate, newPayRate, totalPaySalary;
int daysWorked;
int count = 0;
currentPayRate = 0.01m;
totalPaySalary = 0m;
daysWorkedInputValue = int.Parse(daysWorkedInputTextBox.Text);
if (int.TryParse(daysWorkedInputTextBox.Text, out daysWorked))
{
if (daysWorked >= 0)
{
// Continue to process the input. /
if (daysWorkedInputValue == 0)
{
totalPayCalcLabel.Text = "$0.00";
}
if (daysWorkedInputValue == 1)
{
totalPayCalcLabel.Text = "$0.01";
}
// The following loop calculates the total pay. /
while (count <= (daysWorked - 1))
{
// Calculate the total pay amount. /
if (count == 1)
{
currentPayRate = 0.01m;
totalPayCalcLabel.Text = currentPayRate.ToString("c");
}
currentPayRate = currentPayRate * 2;
totalPaySalary = currentPayRate;
if (count >= 1)
{
totalPayCalcLabel.Text = totalPaySalary.ToString("c");
}
// Add one to the loop counter. /
count = count + 1;
// Return focus back to the organisms TextBox. /
daysWorkedInputTextBox.Focus();
}
//局部变量/
int daysWorkedInputValue;
十进制当前工资率、新工资率、总工资率;
内特·戴斯沃克;
整数计数=0;
当前付款率=0.01米;
工资总额=0万元;
daysWorkedInputValue=int.Parse(daysWorkedInputTextBox.Text);
if(int.TryParse(daysWorkedInputTextBox.Text,out daysWorked))
{
如果(daysWorked>=0)
{
//继续处理输入/
如果(daysWorkedInputValue==0)
{
totalPayCalcLabel.Text=“$0.00”;
}
如果(daysWorkedInputValue==1)
{
totalPayCalcLabel.Text=“$0.01”;
}
//下面的循环计算总薪酬/
而(计数=1)
{
totalPayCalcLabel.Text=totalPaySalary.ToString(“c”);
}
//将一个添加到循环计数器/
计数=计数+1;
//将焦点返回到文本框/
daysWorkedInputTextBox.Focus();
}
我在这里看到了一个非常明显的模式:
3 days -> 2^(3-1) = 4 pennies
4 days -> 2^(4-1) = 8 pennies
所以你要解方程:
pennies = 2^(days-1)
我还没有运行您的代码来查看出了什么问题(没有任何东西会改变count
或daysWorked
的值,因此我假设您最终会陷入无限循环),但这应该可以正常工作:
var pennies = Math.Pow(2, days - 1);
我在这里看到了一个非常明显的模式:
3 days -> 2^(3-1) = 4 pennies
4 days -> 2^(4-1) = 8 pennies
所以你要解方程:
pennies = 2^(days-1)
我还没有运行您的代码来查看出了什么问题(没有任何东西会改变count
或daysWorked
的值,因此我假设您最终会陷入无限循环),但这应该可以正常工作:
var pennies = Math.Pow(2, days - 1);
看起来是GP,是几何级数吗()?请分享问题上下文的完整代码。您没有增加计数,还有其他东西(没有中断,没有重新分配currentPay)看起来是GP,是几何级数吗()?请分享问题上下文的完整代码。您没有增加计数,还有其他内容(没有中断,没有重新分配currentPay)