• 蓝桥校内选拔赛B题(不一定正确)


    由于没报名,只能靠别人发的截图来做了

    我的思路:全排列,判断加号位置,判断/位置,看是否存在这个相等的

    时间复杂度较高,在10e8左右

    代码:

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<iostream>
    #include<cmath>
    
    using namespace std;
    
    int main()
    {
       int n;
       cin>>n;
    	
    	
       int sum=0;
        int ans[9]={1,2,3,4,5,6,7,8,9};
        for(int t=1;t<6;t++)
        {
        	for(int j=t+1;j<9;j++)
        	{
        		long long int sum1=0;
        		long long int sum2=0;
        		long long int sum3=0;
        		for(int k=0;k<=t;k++)
        		{
    				sum1+=ans[k]*pow(10,t-k);
    				
    			}
    			for(int k=t+1;k<=j;k++)
    			{
    				sum2+=ans[k]*pow(10,j-k);
    			}
    			for(int k=j+1;k<9;k++)
    			{
    				sum3+=ans[k]*pow(10,8-k);
    			}
    			if(sum1*1.0+sum2*1.0/sum3==n)
    			{
    				sum++;
    			}
    		}
    	}
        while(next_permutation(ans,ans+9))
        {
        for(int t=0;t<6;t++)
        {
        	for(int j=t+1;j<9;j++)
        	{
        		int sum1=0;
        		int sum2=0;
        		int sum3=0;
        		for(int k=0;k<=t;k++)
        		{
    				sum1+=ans[k]*pow(10,t-k);
    				
    			}
    			for(int k=t+1;k<=j;k++)
    			{
    				sum2+=ans[k]*pow(10,j-k);
    			}
    			for(int k=j+1;k<9;k++)
    			{
    				sum3+=ans[k]*pow(10,8-k);
    			}
    			if(sum1*1.0+sum2*1.0/sum3==n)
    			{
    				sum++;
    			}
    		}
    	}		
        	
    	}
       
        cout<<sum<<endl;
    
    	
    	return 0;
    }

  • 相关阅读:
    html pre 元素
    获取不重复随机数
    CSS查找匹配原理和简洁高效
    排序
    javascript 去数组重复项
    asp.net页面生命周期
    经典 Javascript 正则表达式
    深入理解JavaScript定时机制
    排序简介
    理解 JavaScript 闭包
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10781874.html
Copyright © 2020-2023  润新知