110,536
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 在N到M中出现多少个1
/// </summary>
/// <param name="N">最小数</param>
/// <param name="M">最大数</param>
/// <returns>返回出现了多少个1</returns>
private long Calc(uint N, uint M)
{
/* TODO : 请在这里发挥 */
return 0;
}
private void button1_Click(object sender, EventArgs e1) // 在控制台自己动手改这里
{
// 不要改变如下代码
uint N, M;
long vTickCount = Environment.TickCount;
N = 2008;
M = 20080808;
Console.WriteLine("从{0}到{1}中出现{2}个1", N, M, Calc(N, M));
N = uint.MaxValue / 2;
M = uint.MaxValue;
Console.WriteLine("从{0}到{1}中出现{2}个1", N, M, Calc(N, M));
N = uint.MinValue;
Console.WriteLine("从{0}到{1}中出现{2}个1", N, M, Calc(N, M));
Console.WriteLine("计算耗时{0}毫秒!", Environment.TickCount - vTickCount);
}
private long Calc(uint N, uint M)
{
int count=0;
for (int i = N; i <= M; i++)
{
if (i.ToString().Contains("1"))
count++;
}
return count;
//return 0;
}