沙漏模型

1、題目地址

https://pintia.cn/problem-sets/17/problems/260

2、題目條件

輸入格式:
輸入在一行給出1個正整數(shù)N(≤1000)和一個符號,中間以空格分隔。

輸出格式:
首先打印出由給定符號組成的最大的沙漏形狀,最后在一行中輸出剩下沒用掉的符號數(shù)。

輸入樣例:
19 *

3、代碼

import java.util.Scanner;
public class sand {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int count = 0;
        String tag = "";
        try {
          while (in.hasNext()) {
            count = in.nextInt();
            tag = in.next();

            break;
          }
        } catch (NullPointerException ex) {
        
        }
        sand(count,tag);
    
    }
    
    public static void sand( int count , String tag) {
        int tempCount = 0;
        int tempRows = 0;
        int max = 0;
        int outPutCount = 0;
        for( int i = 1 ; tempCount <= count+1 ; i++ ) {
            max = (2*i-1);
            tempCount += max*2;
            tempRows = i;
        }

        if( count > 1) {
            tempRows -=1;
            max-=2;
        }
        
        for( int i =0; i< tempRows-1 ; i++) {
            
            for( int j = 0 ; j < i ; j++) {
                System.out.print(" ");
            }
            for( int j = 0 ; j < max-2*i ; j++) {
                System.out.print(tag);
                outPutCount++;
            }

            System.out.println();
            
        }
        
        for( int i = tempRows; i >0  ; i--) {
            
            for( int j = 1 ; j < i ; j++) {
                System.out.print(" ");
            }
            for( int j = 0 ; j < max-2*(i-1) ; j++) {
                System.out.print(tag);
                outPutCount++;
            }

            System.out.println();
        }
        
        System.out.print(count-outPutCount);    
    }
}

4、問題及總結

  1. 輸出格式問題
    輸出格式在正常輸出的符號后,增加了多余空格,導致結果檢查通不過,報格式錯誤。
  2. 最小值問題
    本機編寫代碼時沒有關注邊界問題,這里是簡單對邊界添加了保護。
  3. 數(shù)學公式
    這里沒有使用數(shù)學公式,是自己計算的行數(shù),有參考其他人做法,使用java數(shù)學公式更為簡單。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,311評論 0 10
  • 不知不覺,歲寒輸入法的更新歷史已經可以列出這么一長串來了。從中可以看出,歲寒的發(fā)展過程也是一個不斷試錯的過程,其中...
    臨歲之寒閱讀 34,836評論 1 6
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,695評論 0 5
  • 我們習慣把人生分為這樣幾個階段,幼年、童年、青年、中年和老年。但奇怪的是,我們總是模式化的去向青春致敬,有...
    半城煙沙小確幸閱讀 246評論 1 1
  • 動畫短片《In the Fall》,僅僅只有100秒的時間,但是給我們講解了一個發(fā)人深省的故事。一個中年男子在樓上...
    緩存_ed72閱讀 1,479評論 0 0

友情鏈接更多精彩內容