算法题
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 ();
}
}
}
}
以上是关于算法题的主要内容,如果未能解决你的问题,请参考以下文章