第1个回答 2012-04-09
分析:1、千位数只能是1;
2、百位只能是9(原因是:每一位的数值最大是9,千位是1,总和最大是28,则该四位数最小也是1973;
十位数从7~9,个位数从0~9,遍历,以找出该数。即可。
static void Main(string[] args)
{
int c, d;
bool haveFound=false;
for (c = 7; c <= 9; c++)
{
for (d = 0; d <= 9; d++)
{
if ( 1900 + c * 10 + d +10 + c + d == 2001)
{
Console.WriteLine("数字是:19{1}{2}", c, d);
break;
haveFound=true;
}
}
if(haveFound)
break;
}
Console.ReadKey();
}
=====================结果==============
数字是:1977
第2个回答 2012-04-09
分析:千位数只能是1,所以循环穷举百十个位数。
static void Main(string[] args)
{
int b, c, d;
for ( b = 0; b <= 9; b++)
{
for (c = 0; c <= 9; c++)
{
for (d = 0; d <= 9; d++)
{
if ( 1000 + b * 100 + c * 10 + d +1 + b + c + d == 2001)
Console.WriteLine("数字是:1{0}{1}{2}", b, c, d);
}
}
}
Console.ReadKey();
}
=====================结果==============
数字是:1977本回答被提问者采纳
第3个回答 2020-11-05
c++)
{
for
(d
=
0:千位数只能是1分析,
c,所以循环穷举百十个位数;=
9;数字是,
d);
d++)
{
if
(
1000
+
b
*
100
+
c
*
10
+
d
+1
+
b
+
c
+
d
==
2001)
Console.ReadKey();;
c
<:1{0}{1}{2}"
}
}
}
Console;
b
<.WriteLine(",
d。
static
void
Main(string[]
args)
{
int
b;
for
(
b
=
0,
b;=
9;
}
=====================结果==============
数字是;
b++)
{
for
(c
=
0;=
9;
d
<,
c