国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【藍橋杯】歷屆真題 楊輝三角形 (省賽)Java

這篇具有很好參考價值的文章主要介紹了【藍橋杯】歷屆真題 楊輝三角形 (省賽)Java。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【問題描述】

????????下面的圖形是著名的楊輝三角形:

【藍橋杯】歷屆真題 楊輝三角形 (省賽)Java

如果我們按從上到下、從左到右的順序把所有數(shù)排成一列,可以得到如下數(shù)列:

????????1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,...

????????給定一個正整數(shù)N,請你輸出數(shù)列中第一次出現(xiàn)Ⅳ是在第幾個數(shù)?

【輸入格式】

????????輸入一個整數(shù)N。

【輸出格式】

????????輸出一個整數(shù)代表答案。

【樣例輸入】

? ? ? ? 6

【樣例輸出】

? ? ? ? 13

?【藍橋杯】歷屆真題 楊輝三角形 (省賽)Java

?【思路與分析

? ? ? ? 首先,要新建一個數(shù)組以存放楊輝三角中的值。該長度通過題目中所給出的圖示進行計算,此時有一個小竅門。通過觀察可知楊輝三角左右半邊的值為相同的,或者說楊輝三角是中心對稱的。因此,可以先從中間一分為二,選取左半邊或右半邊進行計算。

【藍橋杯】歷屆真題 楊輝三角形 (省賽)Java

? ? ? ? 經(jīng)過觀察,不難總結(jié)出規(guī)律:y?= x * (x-1) / 2

????????后續(xù)計算同樣基于該規(guī)律所做。

代碼

import java.util.*;

public class Main {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        long N= sc.nextLong();
        //經(jīng)過計算在第44721行的時候,第三列的值將會超過十億
        //所以我們創(chuàng)建44725長度的數(shù)組
        long[] a=new long[44725]; 
        a[0]=1L;	//將數(shù)組0位置存入一個長整形
        if(N==1) { //當N==1,直接輸出1
        	System.out.println(1);
					return;
        }
        //聲明一個標志位
        int count=1;

        for(int i=1;i<44725;i++) {
        	for(int j=i;j>=1;j--) {
        		//按照楊輝三角的數(shù)字規(guī)律填充數(shù)組
        		a[j]=a[j]+a[j-1];
                //找到了N,則輸出當前位置,位置 的計算等于 前面的個數(shù) + 當行的位置數(shù) 
        		if(a[j]==N) {  
        			//前面的個數(shù) = (count+1)*count/2  ,當行的個數(shù) = i-j+1
        			System.out.println((count+1)*count/2+i-j+1);
        			return;
        		}
        	}
            //判斷完后,標志位++
        	count++;
        }
        //這是未找到的情況,就是說有些小于10億的數(shù)在44721行之前都還沒有出現(xiàn) ,
        //那么它必然是出現(xiàn)在未顯示出來的第二列的位置上
        System.out.println((N+1)*N/2+2); 
        //所以 位置 = 前面出現(xiàn)的個數(shù) + 2
    }
}

Q&A

? ? ? ? 為什么在for循環(huán)中不使用 break 而使用return?

? ? ? ? 答:return在for循環(huán)中的作用為:返回return所返回的值,并不會執(zhí)行下一次循環(huán)。因不能干擾count標志位的運算,因此 使用return代替break。若使用break,在OJ測試時將只有60分,無法拿到滿分。

? ? ? ? 為什么在存入數(shù)組元素時使用 1L 而不是 1?

? ? ? ? 答:L表示long ,long占用8個字節(jié),表示范圍:-9223372036854775808 ~ 9223372036854775807?
1L其實就是1。

后面跟L一般是指數(shù)據(jù)類型,1L表示1是長整型,如果是1f 表示是float型,若是1 則表示 int 型。文章來源地址http://www.zghlxwxcb.cn/news/detail-434506.html

到了這里,關(guān)于【藍橋杯】歷屆真題 楊輝三角形 (省賽)Java的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)字三角形+包子湊數(shù)(藍橋杯JAVA解法)

    數(shù)字三角形+包子湊數(shù)(藍橋杯JAVA解法)

    題目描述 上圖給出了一個數(shù)字三角形。從三角形的頂部到底部有很多條不同的路徑。對于每條路徑,把路徑上面的數(shù)加起來可以得到一個和,你的任務(wù)就是找到最大的和(路徑上的每一步只可沿左斜線向下或右斜線向下走)。 輸入描述 輸入的第一行包含一個整數(shù)?N?(1≤N≤

    2024年02月01日
    瀏覽(18)
  • 藍橋杯官網(wǎng)填空題(三角形的面積)

    藍橋杯官網(wǎng)填空題(三角形的面積)

    題目描述 本題為填空題,只需要算出結(jié)果后,在代碼中使用輸出語句將所填結(jié)果輸出即可。 已知三角形三個頂點在直角坐標系下的坐標分別為: ```txt (2.3, 2.5) (6.4, 3.1) (5.1, 7.2) ```txt 求該三角形的面積。 注意,要提交的是一個小數(shù)形式表示的浮點數(shù)。 要求精確到小數(shù)后?3?位

    2024年02月09日
    瀏覽(20)
  • 藍橋 卷“兔”來襲編程競賽專場-03破解三角形密碼 題解

    挑戰(zhàn)介紹 三角形密碼指的是將一串字符串按照正直角三角形的形狀排列,傳遞的信息隱藏在每一行的最后一個字符,然后將所有的行的最后一個字符依次連接,就是需要傳遞的信息。 例如加密后的字符串是:我們愛的是藍色的心橋 將加密字符串按照正直角三角形填充后如下

    2023年04月16日
    瀏覽(19)
  • java打印各種三角形~(**版)

    java打印各種三角形~(**版)

    文章目錄 1、正等腰三角形 2、倒等腰三角形 3、菱形 4、左下直角三角形 5、右下直角三角形 6、左上直角三角形 7、右上直角三角形 8、數(shù)字版三角形 ?

    2024年02月07日
    瀏覽(20)
  • C/C++字符三角形 2020年12月電子學(xué)會青少年軟件編程(C/C++)等級考試一級真題答案解析

    C/C++字符三角形 2020年12月電子學(xué)會青少年軟件編程(C/C++)等級考試一級真題答案解析

    目錄 C/C++字符三角形 一、題目要求 1、編程實現(xiàn) 2、輸入輸出 二、算法分析 三、程序編寫 四、程序說明 五、運行結(jié)果 六、考點分析 2020年12月 C/C++編程等級考試一級編程題 給定一個字符,用它構(gòu)造一個底邊長5個字符,高3個字符的等腰字符三角形。 輸入描述: 輸入只有一行

    2024年02月08日
    瀏覽(88)
  • Java用for循環(huán)打印三角形菱形

    Java用for循環(huán)打印三角形菱形

    目錄 ? 一、打印矩形 ?二、打印直角三角形 1.直角三角形 ?2.打印九九乘法表 ?三、打印等腰三角形 ?四、打印平行四邊形 ?五、打印菱形 ?六、打印兩個直角三角形 1.打印兩個直角三角形 ?2.打印倒著的兩個直角三角形 七、打印“蝴蝶” ? 一、打印矩形 運行結(jié)果: ?二、

    2024年04月25日
    瀏覽(23)
  • 力扣120. 三角形最小路徑和(Java 動態(tài)規(guī)劃)

    力扣120. 三角形最小路徑和(Java 動態(tài)規(guī)劃)

    Problem: 120. 三角形最小路徑和 Problem:64. 最小路徑和 本題目可以看作是在上述題目的基礎(chǔ)上改編而來,具體的思路: 1.記錄一個int類型的大小的 n 乘 n n乘n n 乘 n 的數(shù)組(其中 n n n 為數(shù)組triangle的行數(shù))用于記錄 每一個當前階段的最小路徑和 2.大體上可以依據(jù)題意得出動態(tài)轉(zhuǎn)移

    2024年01月22日
    瀏覽(19)
  • 【Java版oj】day27不用加減乘除做加法、三角形

    【Java版oj】day27不用加減乘除做加法、三角形

    目錄 ?一、不用加減乘除做加法 (1)原題再現(xiàn) (2)問題分析 (3)完整代碼 ?二、三角形 (1)原題再現(xiàn) (2)問題分析 (3)完整代碼 不用加減乘除做加法__牛客網(wǎng) 寫一個函數(shù),求兩個整數(shù)之和,要求在函數(shù)體內(nèi)不得使用+、-、*、/四則運算符號。 輸入 1,2 輸出 3 輸入 0,0

    2023年04月16日
    瀏覽(24)
  • css實現(xiàn)圓角三角形,圓角三角形的實現(xiàn)

    css實現(xiàn)圓角三角形,圓角三角形的實現(xiàn)

    今天給大家?guī)硪粋€如何實現(xiàn)圓角三角形的方案,這個方案雖然可以實現(xiàn),但是也是借助拼湊等方式來實現(xiàn)的,假如想一個div來實現(xiàn)圓角三角形,還是比較困難的。之前文章講了如何實現(xiàn)對話框,里面介紹了三角形的實現(xiàn)方式。今天講講如何實現(xiàn)圓角三角形。 想要生成一個帶

    2024年02月09日
    瀏覽(25)
  • 用python寫九九乘法表(左上三角、左下三角、右上三角、右下三角、正三角形、倒三角形格式)

    用python寫九九乘法表(左上三角、左下三角、右上三角、右下三角、正三角形、倒三角形格式)

    1.左上三角格式: ? 2.左下三角格式: ? 3.右上三角格式: ? ? 4.右下角格式: ? ? 5.倒三角格式: ? ? ?

    2024年02月11日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包