求一算法

yingzhilian2008 2009-07-20 10:52:44
有一个四位整数ABCD使得
ABCD
* 2
_______
DCBA
求这个数 改怎么写
...全文
82 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
redleafe 2009-07-20
  • 打赏
  • 举报
回复
那就让程序遍历测试吧
yingzhilian2008 2009-07-20
  • 打赏
  • 举报
回复
我的意思就是找个算法 不一定是*2啊
wdgphc 2009-07-20
  • 打赏
  • 举报
回复
看过了,除非0000×2=0000,没有其他的
sd1840888 2009-07-20
  • 打赏
  • 举报
回复
只有0000

static void Main(string[] args)
{
int A, B, C, D;
Random rd = new Random(1);
bool mybool = false;
while (mybool == false)
{
A = rd.Next(10);
B = rd.Next(10);
C = rd.Next(10);
D = rd.Next(10);
int[] arr = new int[4] { A, B, C, D };
if ((arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3])*2 == arr[3] * 1000 + arr[2] * 100 + arr[1] * 10 + arr[0])
{
mybool = true;
Console.WriteLine("{0},{1},{2},{3}",A,B,C,D);
break;
}

}
Console.ReadKey();
}
fihuang 2009-07-20
  • 打赏
  • 举报
回复
把0到4999遍历一遍
windinwing 2009-07-20
  • 打赏
  • 举报
回复
因为:ABCD和DCBA都是4位数字,
要使ABCD×2=DCBA,ABCD<5000,则A≤5
从ABCD×2=DCBA中得知A为偶数,所以A=4或2
然而:从个位算,A=4时,D=2或7;从千位算则,D=8或9
从个位算,A=2时,D=1或6;从千位算则,D=4或5
以上结果产生矛盾。故此题无解。
windinwing 2009-07-20
  • 打赏
  • 举报
回复
无解 
除非
a=0,b=0,c=0,d=0
0000*2=0000
十八道胡同 2009-07-20
  • 打赏
  • 举报
回复
以前在c/c++版有人推算出来过,求算法啊!

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧