2 solutions

  • 3
    @ 2023-11-22 21:57:40
    #include<bits/stdc++.h>
    using namespace std;
    int n,a[101],b[101],ans,i;
    void init(int a[]){
    	string s;
    	cin>>n>>s;
    	memset(a,0,sizeof(a));
    	a[0]=s.length();
    	for(i=1;i<=a[0];i++)
    	if(s[a[0]-i]>='0'&&s[a[0]-i]<='9') a[i]=s[a[0]-i]-'0';
    	else a[i]=s[a[0]-i]-'A'+10;
    }
    bool check(int a[]){
    	for(i=1;i<=a[0];i++)
    	if(a[i]!=a[a[0]-i+1])return 0;
    	return 1;
    }
    void jia(int a[]){
    	int i,k;
    	for(i=1;i<=a[0];i++)b[i]=a[a[0]-i+1];
    	for(i=1;i<=a[0];i++)a[i]+=b[i];
    	for(i=1;i<=a[0];i++){
    		a[i+1]+=a[i]/n;
    		a[i]%=n;
    	}
    	if(a[a[0]+1]>0)a[0]++;
    }
    int main(){
    	init(a);
    	if(check(a)){
    		cout<<0<<endl;
    		return 0;
    	}
    	ans=0;
    	while(ans<=30){
    		ans++;
    		jia(a);
    		if(check(a)){
    		    cout<<ans<<endl;
    		    return 0;
    	    }
    	}
    	cout<<"Impossible";
     	return 0;
    }
    
    • 0
      @ 2023-11-15 17:11:45

      不是题解,只是当云盘用存一下代码

      using namespace std;
      
      
      int main()
      {
      	cout << "#include <iostream>" <<endl; 
      	cout << "using namespace std;" <<endl;
      	cout << "int main(){" << endl;
      	cout << "int n;" << endl;
      	cout << "cin >>  n;" << endl;
      	for (int i=2;i<1000;i++){
      		cout << "if(n==" << i << "){" <<endl;
      		bool flag =true;
      		for (int j=2;j*j<i;j++){
      			if (i%j==0){
      				flag=false;
      			}
      		}
      		if (flag==false){
      			cout <<"    "<< "NO" <<endl;
      		}else{
      			cout <<"    "<< "YES" <<endl;
      		}
      	}
      	cout << "}";
      	
      	
       }
      
      • 1

      Information

      ID
      794
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      4
      Tags
      # Submissions
      40
      Accepted
      20
      Uploaded By