第十届蓝桥杯java B组—试题D 数的分解
生活随笔
收集整理的這篇文章主要介紹了
第十届蓝桥杯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 数的分解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十届蓝桥杯java B组—试题C 数列
- 下一篇: 第十届蓝桥杯java B组—试题F 特别