算法题

Posted wanghuaying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法题相关的知识,希望对你有一定的参考价值。

//空心的菱形
import java.util.Scanner;
class Deng{
    public static void main(String [] args)
    {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入菱形的边长:");
        int n=scanner.nextInt();
        /*for(int y=n*2-1;y>=1;y--)
        {
            for(int x=1;x<=n*2-1;x++){
                    if(y-x==-n+1||y-x==n-1||y+x==n+1||y+x==3*n-1){
                    System.out.print("*");
                    }else{
                    System.out.print(" ");
                    }
            }
            System.out.println();
        }
    }
}*/

技术分享图片

 


   //实心的菱形 y=kx+b往上是>=;往下<=
    /*    for(int i=1;i<=2*n-1;i++){
            for(int j=1;j<=2*n-1;j++){
                //有的时候是输出*,有的时候是输出空格。
                if(i+j<=n||i-j<=-n||i-j>=n||i+j>=3*n){
                    System.out.print(" ");
                }else{
                    System.out.print("*");
                }
            }
            System.out.println();
        }
    }
}

技术分享图片

 


//输出等腰三角形+长方形
  class Deng
{
    public static void main(String [] args)
    {
        int max=5;    
        for(int i=1;i<=max;i++)  
        {    
            for(int k=1;k<=max-i;k++)  
            {  
                System.out.print(" ");
            }  
            for(int j=1;j<=2*i-1;j++)  
            {  
                System.out.print("*");
            }  
            System.out.println();
        }
        for(int x=2;x<8;x++)
        {
            for(int y=0;y<5;y++)
            {
                if (y<=2)
                {
                    System.out.print(" ");
                }
                else
               {
               System.out.print("*");
               }
            }
            System.out.println();
        }
    }
}
*/

技术分享图片

 


//输出隔星三角形
class Deng {
    public static void main(String [] args)
    {
        int max=5;    
        for(int i=1;i<=max;i++)  
        {
          for(int k=1;k<=max-i;k++)  
            {  
                System.out.print(" ");
            }
        for(int j=1;j<=2*i-1;j++)  
            {  
               if (j%2==0)
               {
                System.out.print(" ");
               }
               else
                   {
                       System.out.print("*");
                   }
            }  
            System.out.println();
        }
    }
 }

技术分享图片

 


 /*class Deng
 {
 public static final int HEIGHT = 9;  
     
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
         
        int count = HEIGHT - 1;    //定义输出空格个数,初值为第一行要输出的空格个数
         
        System.out.println("空心等腰三角形,高度:"+HEIGHT);
         
        for(int row = 1;row <= HEIGHT;row++,count--)
        {
             
            //输出空格
            for(int i = 0;i < count;i++){  
                System.out.print(" ");
            }
            System.out.print("*");
             
            //是第一行,则直接换行,最后一行输出全部*号,否则从第二行开始输出空格,每行+2
            if(row == 1)
            {
                System.out.println();
            }
            else if(row == HEIGHT)
            {
                for(int i = 0;i < row*2-2;i++)
                {
                    System.out.print("*");
                }
                System.out.println();
            }else if(row > 1 && row < HEIGHT)
            {
                for(int i = 0;i < row*2-3;i++)
                {
                    System.out.print(" ");
                }
                System.out.println("*");
            }          
        }
    }
 
}*/

技术分享图片

 


//空心等腰三角形
/*import java.util.Scanner;
  class Deng
   {
      public static void main(String[] args)
      {
         Scanner y=new Scanner(System.in);
         System.out.println("请输入几行:");
         int n=y.nextInt();
         int i,j;
         for(i=1;i<=n;i++) //行数
         {
            for(j=1;j<=n+(n-1);j++)//每行要打印的个数
            {
                if((i==n+1-j)||(i==j-(n-1))||(i==n))
                System.out.print(‘*‘);
                else
                System.out.print(‘ ‘);
            }
             System.out.println();
          }
      }
  } */
  技术分享图片

 


 /* //百钱买鸡;公鸡=5 母鸡=3元 小鸡一元3只
 class Deng{
      public static void main (String [] args)
      {
          for(int x=0;x<=20;x++)
          {
              for(int y=0;y<=33;y++)
              {
                  for (int z=0;z<=100;z++)
                  {
                    if(x+y+z==100&&5*x+3*y+z/3==100)
                    {
                    System.out.println("公鸡="+x+";"+"母鸡="+y+";"+"小鸡="+z+";");
                    }
                  }
              }
          }
          
      }
      
  }*/
  //水仙花数。每位的立方和等于它本身
     //123每位的立方的和1+8+27不等于123,所以它不是水仙花数
/*class Deng
{
    public static void main(String[] args)
    {
     for( int j=100;j<1000;j++)
     {
        int x=j/100;
        int z=j%10;
        int y=(j/10)%10;
       if(x*x*x+y*y*y+z*z*z==j)
        {
         System.out.println(j);
        }
     }
    }
}
//更相减损法 相减直至为0
10 ,8
10-8=2
8-2=6
6-2=4……
class Deng
{
    public static void main(String [] args)
    {
        int a=67;
        int b=13;
        int z=0;
        int y=a*b;
    for (;;)
    {
        if ( a>b)
        {
            z=a-b;
            a=z;
        }
        else if(a<b)
        {
            z=b-a;
            b=z;
        }
        else
        {
        System.out.println("最大公约数为"+a);
        break;    
        }
    }
        System.out.println("最小公倍数是:"+(y/a));
 }
}
//辗转相除法 取余数 直到相处等于0
8,10
10/8  2
8/2   4
import java.util.Scanner;
class Deng{
    public static void main(String[] args)
    {
        Scanner g=new Scanner(System.int);
        System.out.print("请输入第一个数");
        Scanner s=new Scanner(System.int);
        System.out.print("请输入第二个数");
        int a=g.nextInt();
        int b=s.nextInt();
        int z=a*b;
    for (;;)
    {
        if (a>b)
        {
            if (a%b!=0)
            {
            c=a%b;
            a=c;
            }
            else
            {
             System.out.println("最大公约数为"+b);
              System.out.println("最小公倍数是:"+(z/b));
             break;
            }
        }
        else if(a<b)
        {
            if (b%a!=0)
            {
            c=b%a;
            b=c;
            }
            else
            {
            System.out.println("最大公约数为"+a);
             System.out.println("最小公倍数是:"+(z/a));
            break;
             }
        }
        
    }
        
    }
}*/

//九九乘法表
      /*   for (int i=1;i<=9;i++)
       {
           for(int j=1;j<=i;j++)
           {
               System.out.print(j+"*"+i+"="+j*i+" ");
           }
           System.out.println();
       }*/
    //qi求101--200的质数
    //质数也叫素数,除了一和它本身无法整除

        /*for(int i=101;i<=200;i++)
        {
            boolean flag=true;
            for(int j=2;j<i;j++)
            {
                if(i%j==0)
                {
                   flag=false;
                    break;
                }
            }
            if(flag==true)
            {
                System.out.print(" "+i);
            }
        }
    }

//一百内的和
/*class While_Demo{
    public static void main(String [] args){
        int i=0;
        int sum=0;
        while (i<10)
        {
            sum+=i;
            i++;
        }
        System.out.print(sum);
    }
}
class While_Demo{
    public static void main (String [] args){
        int i=1;
        int sum=0;
        do
        {
            sum+=i;
            i++;
        }while (i<100);
        System.out.print(sum);
    }
}
class While_Demo{
    public static void main(String [] args)
    {
        int sum=0;
        for(int i=1;i<100;i++)
        {
            sum+=i;
        }
        System.out.println(sum);
    }
}*/
//求能被三整除,不能被五整除100内的数
/*class While_Demo
{
    public static void main(String [] args)
    {
        int i=0;
        int count=0;
        while(i<100)
        {
            if(i%5!=0)
            {
            System.out.print(i+" ");
            }
            i=i+3;
            count++;
            if (count%3==0)
            {
            System.out.println ();
            }
            
        }
    }
}























































































































































































































































































































































































以上是关于算法题的主要内容,如果未能解决你的问题,请参考以下文章

前端算法入门:刷算法题常用的 JS 基础扫盲

python每日经典算法题5(基础题)+1(中难题)

iOS面试题12-数据结构算法篇

算法刷题范围建议 和 代码规范

算法刷题范围建议 和 代码规范

PASCAL算法知识题~~高分~紧急~