1252: [Blue Bridge Cup 2015 preliminary round] wonderful digital

Title Description

Xiao Ming found a wonderful figure. It is exactly the square and cubic 10 numbers 0 to 9 and each use only once. Can you guess this figure is?
Output
Make the digital output, do not print any extra content.

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;

int main()
{
	int a[10];
	int i=30;
	while(1){
		memset(a,0,sizeof(a));
		int p=i*i;
		int l=i*i*i;
		while(p){
			a[p%10]++;
			p/=10;
		}
		while(l){
			a[l%10]++;
			l/=10;
		}
		int k=0;
		for(int j=0;j<10;j++){
			if(a[j]==1)k++;			
		}
		if(k==10){printf("%d",i);break;
		}
		else i++;
	}
	
}

69 final answer, of course, can be a direct output

Attach reference code:

#include <iostream>  
#include <memory.h> 
using namespace std;
const int N = 1001;  
  
bool solve(int a,int b)  
{  
    int test[10];  
    memset(test,0,sizeof(test));  
    while(a)  
    {  
        test[a%10]++;  
        a/=10;  
    }  
    while(b)  
    {  
        test[b%10]++;  
        b/=10;  
    }  
    bool flag = true;  
    for(int i=0;i<10;i++)  
    {  
        if(test[i] != 1)  
        {  
            flag = false;  
            break;  
        }  
    }  
    return flag;  
}  
  
int main()   
{  
	
	int x2,x3;
    for(int i=10;;i++)  
    {  
        int x2 = i*i;  
        int x3 = i*i*i;  
        if(solve(x2,x3))  
        {  
            cout<<i;  
            break;  
        }  
    }  
    return 0;  
}

Released four original articles · won praise 0 · Views 63

Guess you like

Origin blog.csdn.net/qq_44123044/article/details/104334059