当前位置:网站首页>Jisuan Ke - t3104

Jisuan Ke - t3104

2022-07-07 23:39:00 Yuesi

subject

Small B Here are two integers , Please find the public number in the two numbers .

A public number is a number that appears in both integers .
As long as your program is 1s Results found in , He can use these numbers to do a magic trick for you .

Input format

Two integers in a row .

Output format

A few numbers in a row , Represents a public number , The numbers are separated by spaces .
The output should be from small to large according to the size of the number .
If it doesn't exist , The output -1.

Data range

Let the larger of the two numbers be n

about 50% The data of ,0≤n≤10^9.
about 80% The data of ,0≤n≤1018.
about 90% The data of ,0≤n≤10(104).
about 100% The data of ,0≤n≤10(106).

#include<iostream>
using namespace std;
int main(){
    
	string a,b;
	// When the number is too large, it can be read in the form of string 
	cin>>a; 
	cin>>b;
	long long int l1=a.length(),l2=b.length();
	// Calculate the string length , Pay attention to the data range  
	long long int a1[100]={
    0},b1[100]={
    0};
	// Record two strings respectively 0-9 Number of occurrences  
	int t=0;
	for(long long int i=0;i<l1;i++){
    
		a1[(a[i]-'0')]++;
		// Record the first read string a in 0-9 Number of occurrences of each number  
	}
	for(long long int i=0;i<l2;i++){
    
		b1[(b[i]-'0')]++;
		// Record the next read string b in 0-9 Number of occurrences of each number  
	}
	for(int i=0;i<10;i++){
    
		if(a1[i]>0&&b1[i]>0){
    
		// Judge whether there are characters in both strings (0-9) 
			if(t>0){
    // Used to control output spaces  
				printf(" ");
			}
			printf("%d",i);		
			t++;
		}
		if(i==9&&t==0){
    
		// If two strings do not have the same character  
			printf("-1\n");
		}
	}	
	return 0;
}
原网站

版权声明
本文为[Yuesi]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130556375096.html