zoukankan      html  css  js  c++  java
  • 华为机试题六

    /*查找非素数
    #include<iostream>
    using namespace std;
    int fun(int m)
    {
    	int i;
    	for(i=2;i<m;i++)
    	{
    		if(m%i==0)
    			return 0;
    	}
    	return 1;
    }
    void main()
    {
    	int m,i;
    	cin>>m;
    	for (i=0;i<=m;i++)
    	{
    		if(fun(i)==0)
    			cout<<i<<" ";
    	}
    }
    */
    /*  查找二进制0
    #include <iostream>
    using namespace std;
    void main()
    {
    	int a[30],m;
    	int i=0;
    	int j,k;
    	int count = 0;
    	cin>>m;
    	while (m)
    	{
    		a[i]=m&0001;
    		i++;
    		m=m/2;
    	}
    	j=i;
    	for (i=j-1;i>=0;i--)
    	{
    		if(a[i]==1) 
    		{
    			k=i;
    			break;
    		}
    	}
    	for(i=0;i<k;i++)
    	{
    		if(a[i] == 0)
    			count++;
    	}
    	cout<<count;
    }
    */
    /*  最大公约数
    #include <iostream>
    using namespace std;
    void main()
    {
        int m,n;
    	cin>>m>>n;
        int r=m%n;
    	while (r)
    	{
          m=n;
          n=r;
    	  r=m%n;
    	}
    	cout<<n;
    }
    */
    /*  字符串中不同字符的个数
    #include <iostream>  
    using namespace std;  
    void main()  
    {  
        char a,s[100];  
        int count = 0;  
        int i,j;  
        gets(s);  
        for (i=0;i<strlen(s)-1;i++)  
        {  
    		for(j=0;j<strlen(s)-1-i;j++)  
    			if(s[j+1]<s[j])  
    			{  
    				a = s[j];  
    				s[j] = s[j-1];  
    				s[j-1] = a;  
    			}  
        }  
        for (i=0;i<strlen(s);i++)  
        {  
            if(s[i+1] != s[i])  
            {  
                count++;  
            }  
        }  
        cout<<count;  
    }
    */
    
    /*  计算整数的位数
    #include <iostream>
    #include <string.h>
    using namespace std;
    #define N 6
    void main()
    {
    	char a[10][N];
    	int i,j;
    	i=0;
        while (scanf("%s",a[i])!= EOF)
        {
            cout<<strlen(a[i])<<" ";
    		for (j=strlen(a[i])-1;j>=0;j--)
    		{
    			cout<<a[i][j];
    		}
    		cout<<endl;
        }
    }
    */
    /*   图片整理
    #include <iostream>
    #include <string.h>
    using namespace std;
    void main()
    {
    	char a[1024],s;
    	int i,j,k;
    	scanf("%s",a);
    	for (i=0;i<strlen(a)-1;i++)
    	{
           for (j=0;j<strlen(a)-1-i;j++)
           {
    		   if (a[j+1]<a[j])
    		   {
                   s = a[j];
    			   a[j] = a[j+1];
    			   a[j+1] = s;
    		   }
           }
    	}
    	puts(a);
    }
    */
    /*   最高分查询
    #include <iostream>
    using namespace std;
    void main()
    {
    	int N,M;
    	int *a;
    	int i,j,k,m,temp;
    	char s1;
    	cin>>N>>M;
        a = (int *)malloc(N*sizeof(int));
        for(i=0;i<N;i++)   cin>>a[i];
    	for(j=0;j<M;j++)
    	{
    		cin>>s1;
    		cin>>k>>m;
    		if (s1 == 'Q')
    		{
    			temp=0;
    			for (i=k;i<=m;i++)
    			{
                   if (a[i]>temp)
                   {
    				   temp=a[i];
                   } 
    			}
    			cout<<temp<<endl;
    		}
    		else if (s1 == 'U')
    		{
    			a[k] = m;
    		}
    	}
    	free(a);
    }
    */
    /*   字符变换
    #include <iostream>
    #include <string.h>
    using namespace std;
    void main()
    {
    	char a[50];
    	int i;
    	gets(a);
    	for (i=0;i<strlen(a);i++)
    	{
    		if (a[i]>='A' && a[i]<='U')
    		{
    			a[i] = a[i] + 37;
    		}
    		else if (a[i] =='V' )
    		{
                 a[i] = 'a';
    		}
    		else if (a[i] =='W' )
    		{
    			a[i] = 'b';
    		}
    		else if (a[i] =='X' )
    		{
    			a[i] = 'c';
    		}
    		else if (a[i] =='Y' )
    		{
    			a[i] = 'd';
    		}
    		else if (a[i] =='Z' )
    		{
    			a[i] = 'e';
    		}
    	}
    	puts(a);
    }
    */
    /*    尼科彻斯定理
    #include <iostream>
    using namespace std;
    void main()
    {
    	int m,i;
    	cin>>m;
    	int m3 = m*m*m;
    	int	m2=m*m;
    	int ans;
    	if (m%2 == 0)
    	{
    		ans = 0;
    		for (i=0;i<m/2;i++)
    		{
                ans = ans + m2-1-2*i;
    			ans = ans + m2+1+2*i;
    		}
    		if (ans == m3)
    		{
    			for (i=m/2-1;i>=0;i--)
    			{
    				cout<<m2-1-2*i<<"+";
    			}
    			for (i=0;i<m/2-1;i++)
    			{
    				cout<<m2+1+2*i<<"+";
    				
    			}
    			cout<<m2+1+2*(m/2-1);
    		}
            else
    			cout<<-1;
    
    	} 
    	else
    	{
    	   ans = m2;
    	   for (i=1;i<=m/2;i++)
    	   {
    		   ans = m2-2*i+ans;
    		   ans = m2+2*i+ans;
    	   }
           if (ans == m3)
           {
    		   for (i=m/2;i>0;i--)
    		   {
    			 cout<<m2-2*i<<"+";
    		   }
    		   for (i=0;i<m/2;i++)
    		   {
    			   cout<<m2+2*i<<"+";
    			 
    		   }
    		   cout<<m2+2*(m/2);
           }
            else
    			cout<<-1;
    	}  
    }
    */
    #include <iostream>
    using namespace std;
    void main()
    {
    	int m,i;
    	cin>>m;
    	int m3 = m*m*m;
    	int k= m*(m-1)+1;
    	int sum = 0;
    	for (i=0;i<m;i++)
    	{
    		sum = sum+k+2*i;
    	}
    	if (sum == m3)
    	{
    		for (i=0;i<m-1;i++)
    		{
    			cout<<k+2*i<<"+";
    		}
    		cout<<k+2*i;
    	}
    	else
    		cout<<-1;
    	
    }
    /*    找零钱
    #include <iostream>
    using namespace std;
    int a[7] = {1,2,5,10,20,50,100};
    int fun(int n,int i)
    {
    	if(n==1 || i==0) 
    		return 1;
    	if(n<0 || i<0)
    		return 0;
    	return fun(n-a[i],i)+fun(n,i-1);
    }
    void main()
    {
    	int n;
        int i;
    	cin>>n;
    	while (n != 0)
    	{
    		for (i=6;i>=0;i--)
    		{
    			if (n>=a[i])
    			{
    				break;
    			}
    		}
            cout<<fun(n,i)<<endl;
    		cin>>n;
    	}
    }
    */
    

     部分初级题集合

  • 相关阅读:
    训练总结
    图论--最短路--SPFA模板(能过题,真没错的模板)
    图论--最短路-- Dijkstra模板(目前见到的最好用的)
    The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)
    关于RMQ问题的四种解法
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 K题 center
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 XKC's basketball team
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 D Carneginon
    ZOJ 3607 Lazier Salesgirl (枚举)
    ZOJ 3605 Find the Marble(dp)
  • 原文地址:https://www.cnblogs.com/zlj830/p/4717152.html
Copyright © 2011-2022 走看看