6 solutions

  • 1
    @ 2025-2-18 22:29:32
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	long double n,sum=1;
    	cin>>n;
    	for(int i=0;i<n;i++)sum*=2;
    	cout<<fixed<<setprecision(0)<<sum;
        return 0;
    }
    
    • 0
      @ 2024-1-29 16:39:00

      高精度

      #include<bits/stdc++.h>
      using namespace std;
      int ans[11100]={1};
      int main(){
      	int n,t=1;
      	cin>>n;
      	for(int i=0;i<n;i++){
      		for(int j=0;j<t;j++)
      			ans[j]*=2;
      		for(int j=0;j<t;j++){
      			if(ans[j]>=10){
      				if(ans[j+1]==0) t++;
      				ans[j+1]+=ans[j]/10,ans[j]%=10;
      			}
      		}
      	}
      	bool flag=0;
      	for(int i=t-1;i>=0;i--)
      		if(ans[i]!=0 || flag==1) flag=1,cout<<ans[i];
          return 0;
      }
      
      • 0
        @ 2024-1-24 10:13:13
        #include<bits/stdc++.h>
        using namespace std;
        long double a=1;
        long long n;
        int main(){
        	system("color F1");
        	cin>>n;
        	a=pow(2,n);
        	cout<<fixed<<setprecision(0)<<a<<endl;
        	return 0;
        }
        

        long double永远滴神

        • 0
          @ 2023-12-23 18:07:49

          简单的题解

          #include <bits/stdc++.h>
          using namespace std;
          int a[35]={0,1};
          void x2(){
          	int x=0;
          	for(int i=1;i<32;i++){
          		a[i]=a[i]*2+x;
          		x=a[i]/10,a[i]%=10;
          	}
          }
          int main(){
          	int n,l=31;
          	cin>>n;
          	for(int i=1;i<=n;i++) x2();
          	while(a[l]==0) l--;
          	for(int i=l;i>0;i--) cout<<a[i];
          	return 0;
          }
          
          • -1
            @ 2023-12-10 12:47:51

            最长的题解,来于讨论的 long_int 类,其实很多没用的

            #include<iostream>
            #include<string>
            using namespace std;
            class long_int
            {
            	protected:
            		string num;
            		bool s;
            	public:
            		long_int(string fnum,bool fs=false)
            		{
            			num=fnum;
            			s=fs;
            		}
            		void help()
            		{
            			
            		}
            		string get()
            		{
            			string fh;
            			if(num!="0")
            			{
            				fh=(! s)?"":"-";
            			}
            			return fh+num;
            		}
            		string get_num()
            		{
            			return num;
            		}
            		bool get_sign()
            		{
            			return s;
            		}
            		int get_size()
            		{
            			return num.size();
            		}
            		void set(string fnum)
            		{
            			num=fnum;
            		}
            		void set_sign(bool fs)
            		{
            			s=fs;
            		}
            		short cmp(string fst,bool fs=false)
            		{
            			int f1=num.size();
            			int f2=fst.size();
            			if(num==fst)
            			{
            				if(num=="0")
            				{
            					return 0;
            				}
            				else if(s==fs)
            				{
            					return 0;
            				}
            				else if(s==0 && fs==1)
            				{
            					return 1;
            				}
            				else if(s==1 && fs==0)
            				{
            					return -1;
            				}
            				else
            				{
            					return 2;
            				}
            			}
            			else
            			{
            				if(f1<f2)
            				{
            					if((s==0 && fs==0) || (s==1 && fs==0))
            					{
            						return -1;
            					}
            					else if((s==1 && fs==1) || (s==0 && fs==1))
            					{
            						return 1;
            					}
            				}
            				else if(f1>f2)
            				{
            					if((s==0 && fs==0) || (s==0 && fs==1))
            					{
            						return 1;
            					}
            					else if((s==1 && fs==1) || (s==1 && fs==0))
            					{
            						return -1;
            					}
            				}
            				else if(f1==f2)
            				{
            					for(int i=0;i<f1;i++)
            					{
            						if(num[i]<fst[i])
            						{
            							if((s==0 && fs==0) || (s==1 && fs==0))
            							{
            								return -1;
            							}
            							else if((s==1 && fs==1) || (s==0 && fs==1))
            							{
            								return 1;
            							}
            						}
            						else if(num[i]>fst[i])
            						{
            							if((s==0 && fs==0) || (s==0 && fs==1))
            							{
            								return 1;
            							}
            							else if((s==1 && fs==1) || (s==1 && fs==0))
            							{
            								return -1;
            							}
            						}
            					}
            				}
            			}
            		}
            		short cmp_long_int(long_int &p)
            		{
            			return cmp(p.get_num(),p.get_sign());
            		}
            		string remove_lead(string fns,string lead)
            		{
            			string fs=fns;
            			string ne="";
            			bool find=false;
            			for(int i=0;i<fs.size();i++)
            			{
            				if(!find && fs[i]!='0')
            				{
            					find=!find;
            				}
            				if(find)
            				{
            					ne+=fs[i];
            				}
            			}
            			return ne;
            		}
            		string str_anti(string fs)
            		{
            			for(int i=0;i<fs.size()/2;i++)
            			{
            				char t=fs[i];
            				fs[i]=fs[fs.size()-i-1];
            				fs[fs.size()-i-1]=t;
            			}
            			return fs;
            		}
            		string add(string fns,bool fs=false)
            		{
            			if(s!=fs)
            			{
            				return sub(fns,!fs);
            			}
            			string fnum=num;
            			string fn=fns;
            			int ma=max(fnum.size(),fn.size());
            			string end="";			
            			fnum=str_anti(fnum);
            			for(int i=0;i<ma-fnum.size()+1;i++)
            			{
            				fnum+="0";
            			}
            			fn=str_anti(fn);
            			for(int i=0;i<ma-fn.size()+4;i++)
            			{
            				fn+="0";
            			}
            			int jw=0;
            			for(int i=0;i<ma;i++)
            			{
            				int x=(int(fnum[i]-48)+int(fn[i]-48)+jw);
            				jw=0;
            				if(x>=10)
            				{
            					jw=1;
            				}
            				end+=char((x%10)+48);
            			}
            			end+=char(jw+48);	
            			end=str_anti(end);
            			end=remove_lead(end,"0");
            			num=end;
            			return num;
            		}
            		string sub(string fns,bool fs=false)
            		{
            			if(s!=fs)
            			{
            				return add(fns,!fs);
            			}
            			string fnum=num;
            			string fn=fns;
            			int ma=max(fnum.size(),fn.size());
            			string end="";			
            			fnum=str_anti(fnum);
            			for(int i=0;i<ma-fnum.size()+1;i++)
            			{
            				fnum+="0";
            			}
            			fn=str_anti(fn);
            			for(int i=0;i<ma-fn.size()+4;i++)
            			{
            				fn+="0";
            			}
            			int jw=0;
            			for(int i=0;i<ma;i++)
            			{
            				int x=(int(fnum[i]-48)-int(fn[i]-48)-jw);
            				jw=0;
            				if(x<0)
            				{
            					jw=1;
            				}
            				end+=char(((x+10)%10)+48);
            			}
            			end+=char(jw+48);
            			end=str_anti(end);
            			end=remove_lead(end,"0");
            			num=end;
            			return num;
            		}
            };
            int main()
            {
            	long_int a("1");
            	int s;
            	cin>>s;
            	while(s--)
            	{
            		a.add(a.get_num());
            	}
            	cout<<a.get();
            }
            
            • @ 2023-12-23 18:03:55

              你有事吗????????????

          • -1
            @ 2023-11-1 16:33:09
            #include <bits/stdc++.h>
            using namespace std;
            int a[35] = {0,1};
            void x2(){
            	int x = 0;
            	for (int i = 1;i < 32;i++){
            		a[i] = a[i] * 2 + x;
            		x = a[i] / 10;
            		a[i] %= 10;
            	}
            }
            int main(int argc, char **argv){
            	int n,l = 31;
            	cin >> n;
            	for (int i = 1;i <= n;i++){
            		x2();
            	}
            	while (a[l] == 0){
            		l--;
            	}
            	for (int i = l;i > 0;i--){
            		printf("%d",a[i]);
            	}
            	return 0;
            }
            
            • 1

            Information

            ID
            656
            Time
            1000ms
            Memory
            256MiB
            Difficulty
            5
            Tags
            # Submissions
            102
            Accepted
            36
            Uploaded By