六角填數---第五屆藍橋杯


/** 如圖【1.png】所看到的六角形中,填入1~12的數字。使得每條直線上的數字之和都同樣。圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少?請通過瀏覽器提交答案。不要填寫多余的內容。*/
public class 六角填數 {public static void main(String[] args) {// TODO Auto-generated method stublong start = System.currentTimeMillis();// 從上到下,從左到右,依次為數組賦值int[] a = new int[12];a = init(a);// 初始化數組int[] temp = new int[12];for (int i = 0; i < temp.length; i++) {temp[i] = i + 1;}// 初始化1~12數據提供數組,假設使用了,那么值為其絕對值的負數dsf(0, a, temp);long end = System.currentTimeMillis();print("此程序執行,花費的時間是" + ((end - start) / 1000.0) + "秒.");}public static void print(Object o) {System.out.println(o.toString());}// 初始化數組public static int[] init(int[] a) {a[0] = 1;a[1] = 8;a[11] = 3;return a;}public static int[] calculate(int[] a) {int[] b = new int[6];b[0] = 1 + a[2] + a[5] + a[7];b[1] = 8 + a[2] + a[3] + a[4];b[2] = 11 + a[5] + a[8];b[3] = 1 + a[3] + a[6] + a[10];b[4] = a[7] + a[8] + a[9] + a[10];b[5] = a[4] + a[6] + a[9] + 3;return b;}public static boolean isOk(int[] b) {for (int i = 0; i < b.length; i++) {for (int j = i + 1; j < b.length; j++) {if (b[i] != b[j])return false;}}return true;}public static void dsf(int deep, int[] a, int[] temp) {if (deep == 12)// 表示第13層,也就是a的值已經賦值完成{if (isOk(calculate(a))) {// int b[]=calculate(a);for (int i : a) {System.out.print(i + " ");}System.out.println();}} else {if (deep == 0 || deep == 1 || deep == 11) {dsf(deep + 1, a, temp);// 已經有的值,就不用再次賦值了return;}for (int i = 0; i < temp.length; i++) {if (i == 0 || i == 7 || i ==2) {//已經有的值,就不用再次賦值了continue;}if (temp[i] < 0)continue;a[deep] = temp[i];temp[i] = -temp[i];dsf(deep + 1, a, temp);temp[i] = -temp[i];}}}
}


運算結果:

1 8 9 2 7 10 12 6 5 4 11 3?
此程序執行,花費的時間是0.087秒.

轉載于:https://www.cnblogs.com/bhlsheji/p/5366470.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257411.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257411.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257411.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux命令編寫,編寫簡單的linux命令

8種機械鍵盤軸體對比本人程序員&#xff0c;要買一個寫代碼的鍵盤&#xff0c;請問紅軸和茶軸怎么選&#xff1f;又到了周四分享環節&#xff0c;鑒于最近在看linux編程實踐&#xff0c;所以就的講一下如何編寫一個簡單的who命令。PPTManual PageManual Page 也就是大家常用的m…

如何在ASP.NET 5和XUnit.NET中進行LocalDB集成測試

今天繼續昨天的話題——單元測試&#xff0c;不過是在ASP.NET 5中的單元測試。 在當前的Visual Studio 2015 CTP6中&#xff0c;MSTest是不支持對ASP.NET 5項目進行單元測試的。因而&#xff0c;要對ASP.NET 5進行單元測試&#xff08;或集成測試&#xff09;&#xff0c;就需要…

mysql數據庫詳解(續一)

第三節 配置MYSQL數據庫配置mysql數據庫通常通過命令行選項、配置文件、和環境變量來進行&#xff0c;并且優先順序也是命令行最高&#xff0c;環境變量優先級最低。1、配置文件定位mysql的配置文件可以在以下四個位置&#xff1a;(按照查找順序)1、/etc/my.cnf2、DATADIR/my.c…

ImageLoader設置圓形圖片

//自定義MyApplication類&#xff0c;需要在列表清單中設置 <application android:name"com.ce.image.MyApplication"//將類的名稱賦給這個application package com.ce.image;import com.nostra13.universalimageloader.core.DisplayImageOptions;import …

用戶模式 內核模式 linux,linux – “內核模式”和“用戶模式”硬件...

內核模式和用戶模式是硬件功能,特別是處理器的功能.專為中高端系統(PC,功能手機,智能手機,除最簡單的網絡設備之外的所有系統……)設計的處理器都包含此功能.內核模式可以使用不同的名稱&#xff1a;管理程序模式,特權模式等.在x86(PC中的處理器類型)中,它被稱為“ring 0”,用戶…

SANS研究所:7大最危險的攻擊技術介紹

本文講的是SANS研究所&#xff1a;7大最危險的攻擊技術介紹&#xff0c;很顯然&#xff0c;網絡攻擊威脅已經從理論走入現實生活&#xff0c;無論是個人、企業還是國家重要基礎設施都處在日益嚴峻的威脅之中。本周三&#xff08;2月15日&#xff09;在加利福尼亞州舊金山舉辦的…

第六周作業

上網調查一下目前流行的源程序版本管理軟件和項目管理軟件都有哪些&#xff0c; 各有什么優缺點&#xff1f; &#xff08;提示&#xff1a;搜索一下Microsoft TFS、GitHub、Trac、Bugzilla、Rationale&#xff0c;Apple XCode&#xff09;? 答&#xff1a;目前流行的源程序版…

css 相對定位 ie7問題

div{position:absolute;left:10px;}  或 div{position:absolute;top:10px;}   有時候left或top屬性為0就省略不寫&#xff0c;在ie7里面元素會錯位&#xff0c;解決變法就是left和top屬性都加上。轉載于:https://www.cnblogs.com/xhlddm/p/4439065.html

linux不登錄用戶就關機,Linux無法被遠程登錄;用戶的關機, 重啟,注銷,新增用戶,刪除用戶...

不能使用xshell連接到我的Linux服務器通過再windows的cmd中ping了我的Linux地址&#xff0c;發現網絡不通。查看百度發現是因為網絡沒有選橋接模式&#xff0c;然后選完橋接模式告訴我&#xff1a;然后發現沒有虛擬網卡&#xff0c;原因是之前裝過vm沒有卸載干凈&#xff0c;使…

初次就這么給了你(Django-rest-framework)

Django-Rest-Framework Django-Rest框架是構建Web API強大而靈活的工具包。 簡單粗暴&#xff0c;直奔主題。 pip install djangopip install djangorestframeworkpip install pygments # 代碼顯示高亮pip安裝好需要的工具包之后&#xff0c;我們就開始創建一…

error和exception

Error&#xff08;錯誤&#xff09;表示系統級的錯誤和程序不必處理的異常&#xff0c;是java運行環境中的內部錯誤或者硬件問題。比如&#xff1a;內存資源不足等。對于這種錯誤&#xff0c;程序基本無能為力&#xff0c;除了退出運行外別無選擇&#xff0c;它是由Java虛擬機拋…

使用logminer分析日志文件

實驗環境 win7 64 oracle PL/SQL Release 11.2.0.1.0 - Productionhttp://blog.csdn.net/tianlesoftware/article/details/5604497--這些操作需要在sysdba身份執行1.執行分析之前需要添加補充日志SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;查看補充日志是否開啟&…

linux c++ 獲取時間,詳解Linux下的C++時間類型:time_t

Unix時間戳(Unix timestamp)&#xff0c;或稱Unix時間(Unix time)、POSIX時間(POSIXtime)&#xff0c;是一種時間表示方式&#xff0c;定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。Unix時間戳不僅被使用在Unix系統、類Unix系統中&#xff0c;也在許多其他…

程序員的國慶節如何安排,你想好了嗎?

2019獨角獸企業重金招聘Python工程師標準>>> 就要國慶放假了&#xff0c;國慶節是旅游的黃金期&#xff0c;同時也是我們買買買的幸福期&#xff0c;作為一名技術開發&#xff0c;除了要安排假期旅游行程外也不要忘記提升自己&#xff0c;準備好學習計劃&#xff0c…

Print! Print! Print!

print語句可以實現打印--只是對程序員友好的標準輸出流的接口而已。 從技術角度來講&#xff0c;這是把一個或多個對象轉換為其文本表達形式&#xff0c;然后發送給標準輸出或另一個類似文件的流。 更詳細地說&#xff0c;在Python中&#xff0c;打印與文件和流的概念緊密相連。…

C#讓TopMost窗體彈出并置頂層但不獲取當前輸入焦點的終極辦法

為了使程序在彈出窗口時置頂層且不獲取系統輸入焦點&#xff0c;避免影響用戶當前的操作&#xff0c;來電通來電彈屏軟件嘗試過N多種辦法&#xff0c;例如&#xff1a;彈出前保存當前焦點窗口句柄&#xff0c;彈出時因為使用TopMost系統默認將焦點交給了彈出窗口&#xff0c;彈…

微服務實戰(一):微服務架構的優勢與不足

本文講的是微服務實戰&#xff08;一&#xff09;&#xff1a;微服務架構的優勢與不足&#xff0c;【編者的話】本文來自Nginx官方博客&#xff0c;是微服務系列文章的第一篇&#xff0c;主要探討了傳統的單體式應用的不足&#xff0c;以及微服務架構的優勢與挑戰。正如作者所說…

linux創建zip+函數,linux+shell基礎知識

目錄&#xff1a;1.路徑&#xff1a;2.進程&#xff1a;3.清屏和退出當前命令操作&#xff1a;4.ls 參數&#xff1a;5.創建目錄\文件\復制文件&#xff1a;6.查看文件內容&#xff1a;7.linux通配符&#xff1a;8.grep:9.終止命令&#xff1a;10.搜索文件&#xff1a;11.查看網…

關于浮動float屬性和position:absolute屬性的區別

最近返回頭看了很多書籍&#xff0c;一直在糾結float屬性和absolute絕對定位的區別和使用的情況&#xff0c;給大家分享一下自己的心得和體會吧。 1&#xff0c;float屬性 float屬性意義是讓元素拜托獨占一行的霸道總裁&#xff0c;成為一個普普通通的人。比如下面這個例子 如圖…

Climbing Stairs

You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 分析&#xff1a;考慮走第n步時的情況&#xff0c;可以從第n-1個臺階走一步&#xff0c;也可以從…