国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

計蒜客題庫_模擬、循環(huán)、暴力枚舉_循環(huán)數(shù)

2019-11-08 02:31:20
字體:
供稿:網(wǎng)友
/*https://nanti.jisuanke.com/t/66循環(huán)數(shù)循環(huán)數(shù)是那些不包括0且沒有重復(fù)數(shù)字的整數(shù)(比如81362)并且還應(yīng)同時具有一個有趣的性質(zhì), 就像這個例子: 8 1 3 6 2如果你從最左邊的數(shù)字開始(在這個例子中是8)向右數(shù)最左邊這個數(shù)(如果數(shù)到了最右邊就回到最左邊),你會停止在另一個新的數(shù)字(如果沒有停在一個不同的數(shù)字上,這個數(shù)就不是循環(huán)數(shù)).就像: 8 1 3 6 2 從最左邊接下去數(shù)8個數(shù)字: 1 3 6 2 8 1 3 6 所以我們得到的下一個數(shù)字是6。重復(fù)這樣做 (這次往后6個數(shù)字) 并且你會停止在一個新的數(shù)字上: 2 8 1 3 6 2, 也就是我們得到了2再這樣做 (這次往后數(shù)2個): 8 1,我們得到了1.再一次 (這次往后數(shù)1個): 3又一次: 6 2 8 這時你回到了起點,在經(jīng)過每個數(shù)字一次后回到起點的就是循環(huán)數(shù)。如果你經(jīng)過每一個數(shù)字一次以后沒有回到起點, 你的數(shù)字不是一個循環(huán)數(shù)。給你一個數(shù)字 M, 找出第一個比 M大的循環(huán)數(shù), 輸出數(shù)據(jù)保證結(jié)果能用一個無符號長整型數(shù)裝下。輸入包括一行,為整數(shù)M(0≤M≤100000000)輸出包括一行,為第一個比M大的循環(huán)數(shù)。樣例輸入81361樣例輸出81362*//*【解題思路】解法:模擬操作、暴力枚舉*/import java.util.*;public class Main {		public static void main(String[] args) {				Scanner in = new Scanner(System.in);				int num = in.nextInt();				while(true){						num++;			int n = num;			int length = 0;						//讀取num的位數(shù)			while(n != 0){				n /= 10;				length++;			}			int a[] = new int[length];			n = num;						//將num各個位的數(shù)提取出來存入數(shù)組a			for(int i = length-1;i>=0;i--){				a[i] = n%10;				n /= 10;			}						//檢測數(shù)字num中各個位的數(shù)字是否互不相同			boolean isHasRepeatedNum = false;			for(int i = 0;i<length;i++)				for(int j = i+1;j<length;j++){					if(a[i] == a[j]){						isHasRepeatedNum = true;						break;					}					if(isHasRepeatedNum)						break;				}			if(isHasRepeatedNum)				continue;						//模擬題目中所要求的操作			int count = a[0];//往后數(shù)的次數(shù)			int currentIndex = 0;//往后數(shù)后當(dāng)前的下標(biāo)位置			int lengthBackup = length;						while(true){								currentIndex = (currentIndex+count)%length;//采用模運算實現(xiàn)循環(huán)計數(shù)//				System.out.PRintln("currentIndex="+currentIndex);//				int t = in.nextInt();								//判斷當(dāng)前的數(shù)字是否不為0,如若是則將當(dāng)前位置的數(shù)字變?yōu)?(標(biāo)記操作)				if(a[currentIndex] != 0){					count = a[currentIndex];					a[currentIndex] = 0;					lengthBackup--;//標(biāo)記操作一次后,長度減一,方便后面判斷該數(shù)組a是否滿足題意				}					else					break;							}			if(lengthBackup == 0){				System.out.println(num);				break;			}		}	}}
上一篇:spring注解

下一篇:numpy基本操作

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨脱县| 无极县| 临沭县| 石屏县| 襄樊市| 罗源县| 南投市| 延寿县| 南漳县| 天水市| 耒阳市| 商丘市| 淅川县| 靖安县| 阿合奇县| 石狮市| 柳林县| 从化市| 内丘县| 枞阳县| 政和县| 蒙阴县| 安溪县| 全南县| 巴东县| 开封县| 桦川县| 濮阳县| 密山市| 彭阳县| 安吉县| 云安县| 广东省| 芦山县| 洪湖市| 鄯善县| 景泰县| 宝清县| 金门县| 襄樊市| 略阳县|