C#编程求具有abcd=(ab+cd)2性质的四位数

如(30+25)2恰好等于3025本身

第1个回答  2012-03-20
最简单的做法是循环10000次求解
for(int i = 0;i<10000;i++)
{
if(i == (i/100 + i%100)^2) Console.WritrLine(i);
}
但是如果这是面试题的话,这么做肯定不好,因为不效率。
所以最好用公式推导,求出ab和cd的关系。
abcd == (ab+cd)^2
100ab+cd == (ab + cd)* (ab + cd)
当ab==cd==0时,恒成立
(ab+cd)>0时,99ab== (ab + cd)* (ab + cd - 1)
所以:设sum=ab+cd,tmp = sum*(sum-1)

Console.WriteLine("ab={0},cd={1}",0,0);
for( int sum=1;sum<199;sum++)
{
int tmp = sum*(sum-1);
if( (tmp % 99) != 0) break;
else
{
int ab = tmp /99;
Console.WriteLine("ab={0},cd={1}",ab,sum - ab);
}
}
这个循环199次,效率肯定要比循环10000次高。
但是肯定还有更高的,就是在for( int sum=1;sum<199;sum++)里做判断,让sum的每次取值都保证sum*(sum-1)是99的倍数,具体的也没时间细想了,数学题。本回答被提问者采纳
第2个回答  2012-03-20
List<int> ints=new List<int>;
for(int i=1000;i<10000;i++)
{
if (i == (i / 100 + i % 100) * (i / 100 + i % 100))
{
ints.add(i);
}
}
第3个回答  2012-03-20
具体点

C#编程求具有abcd=(ab+cd)2性质的四位数
abcd == (ab+cd)^2 100ab+cd == (ab + cd)* (ab + cd)当ab==cd==0时,恒成立;(ab+cd)>0时,99ab== (ab + cd)* (ab + cd - 1)所以:设sum=ab+cd,tmp = sum*(sum-1)Console.WriteLine("ab={0},cd={1}",0,0);for( int sum=1;sum<199;sum++){ int tmp =...

md5 算法程序+详细注释,高分求教!
[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35][BCDA 14 23 36][ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA10 23 40][ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43][BCDA 6 23 44][ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47][BCDA 2 23 48] ...

第十四届全国青少年信息学联赛(提高组)初赛试题及答案
16.二叉树T,已知其先序遍历是1 2 4 3 5 7 6(数字为节点编号,以下同),后序遍历是4 2 7 5 6 3 1,则该二叉树的中根遍历是( ) A.4 2 1 7 5 3 6 B.2 4 1 7 5 3 6 C.4 2 1 7 5 6 4 D.2 4 1 5 7 3 6 17.面向对象的程序设计(Object-Oriented Programming)是一种程序设计的...

2008信息学奥赛也就是第十四届信息学奥林匹克竞赛阜阳赛区的C语言试 ...
16.二叉树T,已知其先序遍历是1 2 4 3 5 7 6(数字为节点编号,以下同),后序遍历是4 2 7 5 6 3 1,则该二叉树的中根遍历是( )A.4 2 1 7 5 3 6 B.2 4 1 7 5 3 6 C.4 2 1 7 5 6 4 D.2 4 1 5 7 3 617.面向对象的程序设计(Object-Oriented Programming)是一种程序设计的方法...

14届全国青少年信息学奥赛初赛
A.6 B.5 C.4 D.3 E.2 7.与十进制数28.5625相等的四进制数是( )A.123.21 B.131.22 C.130.22 D.130.21 E.130.20 8.递归过程和函数调用时,处理参数和返回地址,通常使用一种称为( )的数据结构。A.队列 B.多维数组 C.线性表...

2008信息学奥赛初赛答案(山东)?
1. C 2. A 3. B 4. C 5. B 6. D 7. D 8. E 9. B 10. C 二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。 11. ABD 12. AC 13. BC 14. B 15. ABC 16. ABD 17. BCD 18. ABC 19. ACD 20. ABCD 三、问题求解:(...

2008信息学奥赛初赛试题
1. C 2. A 3. B 4. C 5. B 6. D 7. D 8. E 9. B 10. C 二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。 11. ABD 12. AC 13. BC 14. B 15. ABC 16. ABD 17. BCD 18. ABC 19. ACD 20. ABCD 三、问题求解:(...

第十四届全国青少年信息学奥林匹克联赛初赛
1. C 2. A 3. B 4. C 5. B 6. D 7. D 8. E 9. B 10. C 二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。 11. ABD 12. AC 13. BC 14. B 15. ABC 16. ABD 17. BCD 18. ABC 19. ACD 20. ABCD 三、问题求解:(...

相似回答