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

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

寒假20:算法訓(xùn)練 回文數(shù)

2019-11-10 19:39:43
字體:
供稿:網(wǎng)友

 算法訓(xùn)練 回文數(shù)  時間限制:1.0s   內(nèi)存限制:256.0MB      錦囊1模擬。錦囊2每次對于當(dāng)前數(shù)均使用題設(shè)給出的方法模擬出下一個數(shù),再判斷是不是回文數(shù)。 在模擬的時候,最好使用一個數(shù)組來表示數(shù)字,使用高精度計算的方法來處理數(shù)的加和回文數(shù)的判斷。問題描述  若一個數(shù)(首位不為零)從左向右讀與從右向左讀都一樣,我們就將其稱之為回文數(shù)。  例如:給定一個10進制數(shù)56,將56加65(即把56從右向左讀),得到121是一個回文數(shù)。  又如:對于10進制數(shù)87:  STEP1:87+78 = 165 STEP2:165+561 = 726  STEP3:726+627 = 1353 STEP4:1353+3531 = 4884  在這里的一步是指進行了一次N進制的加法,上例最少用了4步得到回文數(shù)4884。  寫一個程序,給定一個N(2<=N<=10或N=16)進制數(shù)M(其中16進制數(shù)字為0-9與A-F),求最少經(jīng)過幾步可以得到回文數(shù)。  如果在30步以內(nèi)(包含30步)不可能得到回文數(shù),則輸出“Impossible!”輸入格式  兩行,N與M輸出格式  如果能在30步以內(nèi)得到回文數(shù),輸出“STEP=xx”(不含引號),其中xx是步數(shù);否則輸出一行”Impossible!”(不含引號)樣例輸入987樣例輸出STEP=6

這個題是之前在別的學(xué)校比賽練習(xí)系統(tǒng)上遇到過的,之前好像沒有說有超過十進制的。當(dāng)時不能提交了,但是寫出來了。

代碼(十六進制的沒有考慮進去):

import java.util.Scanner;public class B {	public static void main(String[] args) {				Scanner sc=new Scanner(System.in);		int k=sc.nextInt();		String num=sc.nextInt()+"";		boolean fa=getBool(num);		int conut=0;		while(fa==false){			String str=getAdd(k,num);			num=str;			fa=getBool(str);			conut++;			if(conut==30){				System.out.PRintln("Impossible!");				return;			}		}		System.out.println("STEP="+conut);	}	private static boolean getBool(String str) {		int le=str.length();		for (int i = 0; i < le/2; i++) {			if(str.charAt(i)!=str.charAt(le-i-1)){				return false;			}		}		return true;	}	//K進制的加法	private static String getAdd(int k,String num) {		String str="";		int jw=0;		int le=num.length()-1;		for (int i = num.length()-1; i >= 0; i--) {			int x=(num.charAt(i)+num.charAt(le-i))-2*'0'+jw;			str=x%k+str;			jw=x/k;		}		if(jw==1)			str=1+str;		return str;	}}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆子县| 东阿县| 彰化县| 蕉岭县| 梁平县| 肇庆市| 望奎县| 庄浪县| 姜堰市| 疏附县| 古丈县| 万安县| 青神县| 金华市| 新郑市| 涟源市| 胶州市| 政和县| 新巴尔虎左旗| 石棉县| 田东县| 吉木萨尔县| 若羌县| 新沂市| 正定县| 会同县| 苏尼特左旗| 苗栗县| 乌兰县| 崇阳县| 垫江县| 南溪县| 咸丰县| 皋兰县| 墨竹工卡县| 革吉县| 江达县| 兴业县| 曲周县| 道孚县| 颍上县|