没吃饱(
2024-05-25 16:59:18
发布于:广东
37阅读
0回复
0点赞
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
struct node{
int cube, i, j, k;
}a[100005];
int ct, n;
bool cmp(node a, node b){
if(a.cube == b.cube){
if(a.k == b.k){
if(a.j == b.j) return a.i < b.i;
return a.j < b.j;
}return a.k < b.k;
}
return a.cube < b.cube;
}
int main(){
cin >> n;
for(int i = 2; i <= n; i++){
for(int j = 2; j <= i; j++){
int l = cbrt(i * i * i + j * j * j), r = cbrt(i * i * i + 2 * j * j * j);
//cout << l << ' ' << r << endl;
for(int _ = l; _ <= r; _++){
int k = _ * _ * _ - i * i * i - j * j * j;
float ans = cbrt(k);
if(ans == int(ans) && ans >= 2 && _ <= n && ans <= j) a[++ct] = {_, i, j, ans};
}
}
}sort(a + 1, a + ct + 1, cmp);
for(int i = 1; i <= ct; i++) printf("Cube = %d, Triple = (%d,%d,%d)\n", a[i].cube, a[i].k , a[i].j, a[i].i);
return 0;
}
全部评论 1
6
2024-05-09 来自 广东
0五一欢乐赛的领取短信已经发到手机上了,记得查看哦
2024-05-09 来自 浙江
0ok
2024-05-09 来自 广东
0
有帮助,赞一个