We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • Hackerrank Home
  • Prepare
    NEW
  • Certify
  • Compete
  • Career Fair
  • Hiring developers?
  1. All Contests
  2. ProjectEuler+
  3. Project Euler #32: Pandigital products
  4. Discussions

Project Euler #32: Pandigital products

Problem
Submissions
Leaderboard
Discussions

Sort 27 Discussions, By:

recency

Please Login in order to post a comment

  • acidburn_pl
    3 months ago+ 0 comments

    Python

    from itertools import permutations
    number = [str(x) for x in range(1,int(input())+1)]
    p_numbers = permutations(number)
    s = set()
    for item in p_numbers:
        x = (len(item)//2)+(len(item)%2)
        if int(''.join(item[0:1])) * int(''.join(item[1:x])) == int(''.join(item[x:])):
            s.add(int(''.join(item[x:])))
        if len(item)>6 and int(''.join(item[0:2])) * int(''.join(item[2:x])) == int(''.join(item[x:])):
            s.add(int(''.join(item[x:])))
    print(sum(s))
    
    0|
    Permalink
  • arturo_oficina
    7 months ago+ 0 comments

    O(1) solution

    r = {4: 12,5: 52,6: 162,7:0,8:13458,9:45228} 
    print(r[int(input().strip())])
    
    0|
    Permalink
  • muradquliyev7033
    11 months ago+ 0 comments

    Passed All Test Cases. I don't how, just i tried range loops.

    N = int(input())
    
    org = [i for i in range(1, N+1)]
    
    first = 0
    second = 0
    last = 0
    
    
    ans = set()
    for i in range(1, 10**2):
        for j in range(i, 10**4):
            if i == j:
                continue
            
            prd = i * j
    
            st = str(i) + str(j) + str(prd)
            st = list(map(int, st))
            st = sorted(st)
    
            if st == org:
                ans.add(prd)
                #print(prd)
    
    print(sum(ans))
    
    0|
    Permalink
  • s_mostafa_a
    2 years ago+ 0 comments

    You need two nested loops from 1 to 10000 . Then for each i and j , check i, j and i*j.

    c++ Solution :

    #include <bits/stdc++.h>
    using namespace std;
    #define all(v) (v).begin(), (v).end()
    #define debug(x) cout << #x << " = " << x << endl
    typedef long long ll;
    typedef pair<int, int> pii;
    typedef pair<ll, ll> pll;
    inline ll Mod(ll x, ll mod) { return x % mod >= 0 ? x % mod : x % mod + mod; }
    
    bool is_panddigital(ll a, ll b, int n)
    {
        bool mark[10] = {0};
        ll y = a * b;
        while (a)
        {
            int u = a % 10;
            a /= 10;
            if (mark[u] || u > n || u == 0)
            {
                return 0;
            }
            mark[u] = 1;
        }
        while (b)
        {
            int u = b % 10;
            b /= 10;
            if (mark[u] || u > n || u == 0)
            {
                return 0;
            }
            mark[u] = 1;
        }
        while (y)
        {
            int u = y % 10;
            y /= 10;
            if (mark[u] || u > n || u == 0)
            {
                return 0;
            }
            mark[u] = 1;
        }
        for (int i = 1; i <= n; i++)
        {
            if (!mark[i])
                return 0;
        }
        return 1;
    }
    
    int main()
    {
        ios_base::sync_with_stdio(false);
        cin.tie(0);
        set<int> ans;
        int n;
        cin >> n;
        for (int i = 1; i <= 10000; i++)
        {
            for (int j = 1; j <= 10000; j++)
            {
                if (is_panddigital(i, j, n))
                    ans.insert(i * j);
            }
        }
        ll k = 0;
        for (int i : ans)
            k += i;
        cout << k;
    }
    
    -2|
    Permalink
  • yuvakiran821
    2 years ago+ 0 comments

    some hints for boundary conditions ,this may help u link: https://euler.beerbaronbill.com/en/latest/solutions/32.html

    0|
    Permalink
Load more conversations

Need Help?


View top submissions
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy