回溯法Perfect Cubes
来源:互联网 发布:ipad办公 知乎 编辑:程序博客网 时间:2024/06/06 09:22
Perfect Cubes
Description
For hundreds ofyears Fermat's Last Theorem, which stated simply that for n > 2 there existno integers a, b, c > 1 such that a^n = b^n + c^n, has remained elusivelyunproven. (A recent proof is believed to be correct, though it is stillundergoing scrutiny.) It is possible, however, to find integers greater than 1that satisfy the "perfect cube" equation a^3 = b^3 + c^3 + d^3 (e.g.a quick calculation will show that the equation 12^3 = 6^3 + 8^3 + 10^3 isindeed true). This problem requires that you write a program to find all setsof numbers {a,b,c,d} which satisfy this equation for a <= N.
Input
One integer N (N<= 100).
Output
The output shouldbe listed as shown below, one perfect cube per line, in non-decreasing order ofa (i.e. the lines should be sorted by their a values). The values of b, c, andd should also be listed in non-decreasing order on the line itself. There doexist several values of a which can be produced from multiple distinct sets ofb, c, and d triples. In these cases, the triples with the smaller b valuesshould be listed first.
Sample Input
24
Sample Output
Cube = 6, Triple = (3,4,5)
Cube = 12, Triple = (6,8,10)
Cube = 18, Triple = (2,12,16)
Cube = 18, Triple = (9,12,15)
Cube = 19, Triple = (3,10,18)
Cube = 20, Triple = (7,14,17)
Cube = 24, Triple = (12,16,20)
本题很简单,代码如下:
#include<iostream>
using namespacestd;
#define maxN 200
#define maxNN 205
#define maxM 5
intvisited[maxNN];
intselected[maxNN];
int ans[maxM];
void DFS(int n,intindex);
int main()
{
int n;
cin>>n;
for(int i=6;i<=n;i++)
{
for(int j=0;j<=n;j++)
{
visited[j]=0;
selected[j]=0;
}
DFS(i,0);
}
return 0;
}
void DFS(int n,intindex)
{
if(index==3)
{
if((n*n*n==ans[0]*ans[0]*ans[0]+ans[1]*ans[1]*ans[1]+ans[2]*ans[2]*ans[2])&&(selected[ans[0]]*selected[ans[1]]*selected[ans[2]]==0))
{
cout<<"Cube ="<<n<<", Triple =("<<ans[0]<<","<<ans[1]<<","<<ans[2]<<")"<<endl;
selected[ans[0]]=selected[ans[1]]=selected[ans[2]]=1;
}
return ;
}
for(int i=2;i<n;i++)
{
if(!visited[i])
{
visited[i]=1;
ans[index]=i;
DFS(n,index+1);
visited[i]=0;
}
}
}
- 回溯法Perfect Cubes
- Perfect Cubes
- Perfect Cubes
- Perfect Cubes
- HDU 1334 Perfect Cubes【穷举法】
- zoj 1331 Perfect Cubes
- poj 1543Perfect Cubes
- zoj 1331 Perfect Cubes
- poj 1543 Perfect Cubes
- zoj1331----------------Perfect Cubes
- ZOJ 1331 Perfect Cubes
- zoj 1331 Perfect Cubes
- ZOJ 1331 Perfect Cubes
- POJ 1543 Perfect Cubes
- HDU1334:Perfect Cubes
- poj_1543 Perfect Cubes
- hdu1334-Perfect Cubes
- [catch]--Perfect Cubes
- 欢迎使用CSDN-markdown编辑器
- apple各种型号设备对应的Size Class
- javascript快速入门
- Unity 3D 控制物体上下左右均匀移动脚本
- 十一第二题
- 回溯法Perfect Cubes
- Decision Tree and Regression Tree
- java.lang.IllegalArgumentException: Service Intent must be explicit解决方法
- mysql bin-log日志记录
- 再谈OpenCV
- SURF项目总结 - deepdream
- 传智播客 工作流课程笔记
- 人脸识别Haar分类器
- 目标关键词是什么意思?