zoukankan      html  css  js  c++  java
  • (Problem 62)Cubic permutations(待续)

    The cube, 41063625 (3453), can be permuted to produce two other cubes: 56623104 (3843) and 66430125 (4053). In fact, 41063625 is the smallest cube which has exactly three permutations of its digits which are also cube.

    Find the smallest cube for which exactly five permutations of its digits are cube.

    题目大意:

    立方数 41063625 (3453) 通过排列可以得到两个另外的立方数: 56623104 (3843) 和 66430125 (4053)。 实际上41063625是最小的三个(不多不少)排列是立方数的立方数。

    找出最小的立方数,其五个(不多不少)排列是立方数。

    #include<stdio.h>
    #include<stdbool.h>
    #include<string.h>
    #include<math.h>
    #include<stdlib.h>
    
    #define N 8000
    
    typedef struct data {
        long long n;
        char na[22];
    };
    
    struct data a[N];
    
    int cmp1(const void * a, const void * b)
    {
        struct data * c = (struct data * )a;
        struct data * d = (struct data * )b;
        return strcmp(c ->na, d ->na); 
    }
    
    int cmp2(const void * a, const void * b)
    {
        return *(char *)a - *(char *)b;
    }
    
    void solve()
    {
        int i, j;
        long long t, min;
        min = 10000000000000000000;
        for(i = 0, j = 333; i < N; i++, j++) {
            a[i].n = j * j * j;
            sprintf(a[i].na, "%lld", a[i].n);
            qsort(a[i].na, strlen(a[i].na), sizeof(char), cmp2);
        }
        qsort(a, N, sizeof(a[0]), cmp1);
    
        for(int i = 0; i < N; i++) {
            if(strcmp(a[i].na, a[i + 1].na) == 0 && strcmp(a[i].na, a[i + 2].na) == 0 &&
                strcmp(a[i].na, a[i + 3].na) == 0 && strcmp(a[i].na, a[i + 4].na) == 0 ) {
                printf("%lld
    %lld
    %lld
    %lld
    %lld
    ", a[i].n, a[i + 1].n, a[i + 2].n, a[i + 3].n, a[i + 4].n);
                
            }
        }
        //printf("%lld
    ", min);
    }
    
    int main()
    {
        solve();
        return 0;
    }
  • 相关阅读:
    APUE学习笔记:第四章 文件和目录
    APUE学习笔记:第三章 文件I/O
    APUE学习笔记:第二章 UNIX标准化及实现
    APUE学习笔记:第一章 UNUX基础知识
    《数据库系统概念》学习笔记2
    go语言下载地址
    Centos7 编译 android4.4
    剑侠情缘新进展
    ubuntu server 14.04手动安装svn
    ubuntu server 14.04 lts显示乱码的问题
  • 原文地址:https://www.cnblogs.com/acutus/p/3551642.html
Copyright © 2011-2022 走看看