日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第十届蓝桥杯java B组—试题D 数的分解

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第十届蓝桥杯java B组—试题D 数的分解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1.大賽題目
    • 2.文字描述如下
    • 3.代碼實例
    • 4.答案

1.大賽題目

圖片如下:

2.文字描述如下

試題 D: 數的分解

【問題描述】

把 2019 分解成 3 個各不相同的正整數之和,并且要求每個正整數都不包 含數字 2 和 4,一共有多少種不同的分解方法?

注意交換 3 個整數的順序被視為同一種方法,例如 1000+1001+18 和 1001+1000+18 被視為同一種。

【答案提交】
   這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一 個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。

3.代碼實例

方法一:

public class LanqiaotenthD {// 定義一個判斷函數,判斷這個數是否包含2,4public static boolean judge(int num) {while(num > 0) {int k = num % 10;//舉幾個例子:400,40,48,480//每個正整數都不包含數字2和4if (k == 2 || k == 4) {return false;}//48對10求余后等于8,所以還要進一步的驗證num /= 10;}return true;}public static void main(String[] args) {int result = 0;for (int i = 1; i < 2019; i++) {for (int j = 1; j < 2019; j++) {for (int f = 1; f < 2019; f++) {if (i + j + f == 2019) {//3個不同的正整數之和等于2019if (i != j && i != f && j != f) {if (judge(i) && judge(j) && judge(f)) {result++;}}}}}}//一種組合3個數字不同變換一種有6種,最后結果/6System.out.println(result / 6);} }

方法二:

public class lanqiao10_4 {public static void main(String args[]) {int count = 0;for (int i = 1; i < 2019; i++) {for (int j = 1; j < 2019; j++) {for (int k = 1; k < 2019; k++) {if (i != j && j != k && i != k) {if(i + j + k == 2019) {if(String.valueOf(i).indexOf("2") == -1 && String.valueOf(j).indexOf("2") == -1 && String.valueOf(k).indexOf("2") == -1) {if(String.valueOf(i).indexOf("4") == -1 && String.valueOf(j).indexOf("4") == -1 && String.valueOf(k).indexOf("4") == -1) {count++;}}}}}}}System.out.println("結果為:" + count / 6);} }

方法三

public class lanqiao10_4 {public static void main(String args[]) {int count = 0;for (int i = 1; i < 2019; i++) {for (int j = 1; j < 2019; j++) {for (int k = 1; k < 2019; k++) {if (i != j && j != k && i != k) {if(i + j + k == 2019) {if(!String.valueOf(i).contains("2") && !String.valueOf(j).contains("2") && !String.valueOf(k).contains("2")) {if(!String.valueOf(i).contains("4") && !String.valueOf(j).contains("4") && !String.valueOf(k).contains("4")) {count++;}}}}}}}System.out.println("結果為:" + count / 6);} }

4.答案

40785

總結

以上是生活随笔為你收集整理的第十届蓝桥杯java B组—试题D 数的分解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。