常见面试笔试编程题目
2012-03-11 18:21
567 查看
【说明:以下题目均来自网络,答案为个人编写,仅供讨论,欢迎发表改进建议!】
题目1:a^3 + b^3 + c^3 = d^3,a, b, c, d都是0-999之间的整数,写代码找出所有符合该条件的a,
b, c, d。
参考程序:以下程序在Linux上编译通过,共找出 3384 组答案,耗时约4秒
题目1:a^3 + b^3 + c^3 = d^3,a, b, c, d都是0-999之间的整数,写代码找出所有符合该条件的a,
b, c, d。
参考程序:以下程序在Linux上编译通过,共找出 3384 组答案,耗时约4秒
#include <iostream> #include <stdlib.h> #include <math.h> #define N 1000 using namespace std; typedef unsigned int uint; typedef unsigned long long ullong; /* Store cubic values, data =n^3 */ ullong data = {0}; /* Get the cubic value of n */ ullong cubic( uint n) { if(data == 0) { data = n*n*n; } return data ; } int main() { uint a,b,c,d; ullong A,B,C,D; double F; for(d=0; d<N; d++) { D = cubic(d); F = pow(D/3.0, 1.0/3); for(a=(int)F; a<=d; a++) { A = cubic(a); F = pow((D-A)/2.0, 1.0/3); for(b=(int)F; b<=a; b++) { B = cubic(b); if(A + B > D) { break; } F = pow(D-A-B, 1.0/3); for(c=(int)F; c<=b; c++) { C = cubic(c); if( A + B + C == D ) { cout<< a << "^3 + " << b << "^3 + " << c << "^3 == " << d << "^3" << "\t:\t"; cout<< A << " + " << B << " + " << C << " == " << D << endl; }else if(A + B + C > D) { break; } } } } } return 0; }
相关文章推荐
- C语言笔试面试常见编程题目(更新中)
- 常见笔试面试题目与解析(1)
- 常见笔试/面试题目(zz)
- Java常见笔试、面试题目深度剖析
- Java常见笔试面试题目解析(三):Java中异常执行流程
- Android常见面试笔试题目
- PHP中include() 与 require() 的区别(面试笔试常见题目)
- C++笔试面试中的sizeof常见题目
- C/C++笔试面试常见题目2
- Java常见笔试面试题目解析(十):Java中检查的异常与未检查的异常
- 程序员面试笔试宝典学习记录(一)(常见面试笔试题目)
- 常见笔试/面试题目(一)
- C/C++笔试、面试题目大汇总 Visual C++常见面试题 王牌7
- Java笔试、面试中常见的题目记录
- IT企业笔试面试题目 常见智力题
- Java笔试常见编程题目:判断101-200 之间有多少个素数,并输出所有素数
- Android笔试和面试常见题目(三)
- 常见笔试/面试题目
- 程序员面试笔试宝典学习记录(一)(常见面试笔试题目)
- Java常见笔试面试题目解析(一):final与static final变量(原生类型)的初始化方式