一、素数
bool ISPrime(long n)
{
if (n <= 3) {
return n > 1;
}
if ( n % 2 == 0 || n % 3 == 0 ) {
return false;
}
int k = ( int )sqrt( n ) + 1;
for( int i = 5; i < k; i += 6 ){
if( n % i == 0 || n % (i+2) == 0 ){
return false;
}
}
return true;
}
二、打印层数为(2n-1)形状为(*)的沙漏
static void doPrint(int c,String s){
for(int i = 0;i < c-1;i++){
int sum = 2*(c-i)-1;
int j = 0;
while(sum>0){
if(j < i) System.out.print(" ");
else {System.out.print(s);sum--;};
j++;
}
System.out.println();
}
for(int i = 1;i <= c;i++){
int sum = 2*i-1;
int j = 0;
while(sum > 0){
if(j<(c-i))System.out.print(" ");
else {System.out.print(s);sum--;}
j++;
}
System.out.println();
}
}
用法:doPrint(3,"*"); --------> 打印5层符号为*的沙漏
更新文章迁移到新的文章里了,因为旧的不支持使用MarkDown语法,还请移步到算法总结(更新)传送门