洛谷P1015回文數

題目描述

若一個數(首位不為零)從左向右讀與從右向左讀都一樣,我們就將其稱之為回文數。

例如:給定一個十進制數?5656,將?5656?加?6565(即把?5656?從右向左讀),得到?121121?是一個回文數。

又如:對于十進制數?8787:

STEP1:87+78=165
STEP2:165+561=726
STEP3:726+627=1353
STEP4:1353+3531=4884

在這里的一步是指進行了一次?N?進制的加法,上例最少用了?4?步得到回文數?

4884。

寫一個程序,給定一個?N(2≤N≤10?或 N=16)進制數?M(100?位之內),求最少經過幾步可以得到回文數。如果在?30?步以內(包含?30?步)不可能得到回文數,則輸出?Impossible!

輸入格式

兩行,分別是?N,M。

輸出格式

如果能在?30?步以內得到回文數,輸出格式形如?STEP=ans,其中?ans為最少得到回文數的步數。

否則輸出?Impossible!

輸入輸出樣例

輸入 #1

10
87

輸出 #1

STEP=4

這題用add函數負責將當前數與它的反向讀取數相加,并更新到 c[] 數組中,同時處理進位情況和去除高位前導零。用pd函數判斷當前數是否為回文數。用main

將字符轉換為對應的數值存入 c [ ]?

#include <bits/stdc++.h>
using namespace std;
int n, a[305], len;
char c[305], d[305];void add() {for (int i = 0; i < len; i++)d[len - i - 1] = c[i];len+=2;for (int i = 0; i < len; i++) {c[i] += d[i];if (c[i] >= n) {c[i + 1]++;c[i] -= n;}}while (!c[len - 1])len--;
}
bool pd() {for (int i = 0; i < len; i++) {if (c[i] != c[len - 1 - i]) {return false;}}return true;
}int main() {cin >> n >> c;len= strlen(c);for (int i = 0; i < len; i++) {if (c[i] >= '0' && c[i] <= '9')c[i] -= '0';elsec[i] = c[i] - 'A' + 10;}int step = 0;while (!pd()) {step++;if (step > 30)break;add();}if (step <= 30)cout << "STEP=" << step;elsecout << "Impossible!";return 0;
}

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

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

相關文章

藍橋杯刷題2

1. 修建灌木 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int n scan.nextInt();for (int i 1;i < n1;i){int distance Math.max(i-1,n-i);System.out.println(distance*2);}scan.close…

軟件設計師軟考題目解析12 --每日五題

想說的話&#xff1a;要準備軟考了。0.0&#xff0c;其實我是不想考的&#xff0c;但是吧&#xff0c;由于本人已經學完所有知識了&#xff0c;只是被學校的課程給鎖在那里了&#xff0c;不然早找工作去了。尋思著反正也無聊&#xff0c;就考個證玩玩。 本人github地址&#xf…

種花

分情況&#xff1a; 第一盆k種選擇&#xff0c;之后全部k-1種選擇 每次相乘結果對1e97取模 #include <iostream> #include <vector> #include <algorithm> using namespace std; #define endl \n const int N 1e9 7;int main() {ios::sync_with_stdio(f…

微信小程序iOS禁止上下拉顯示白邊

先上圖暴露出問題 iOS端這個頁面明明正好顯示的&#xff0c;非要能下拉上拉給顯示出來點白邊。這樣不就不好看了嘛。。 想了想是不是支持頁面下拉導致的&#xff0c;加入以下代碼到json文件中。 {"enablePullDownRefresh": false,"usingComponents": {} }…

java009 - Java面向對象基礎

1、類和對象 1.1 什么是對象 萬物皆對象&#xff0c;客觀存在的事物皆為對象。 1.2 什么是面向對象 1.3 什么是類 類是對現實生活中一類具有共同屬性和行為的事物抽象。 特點&#xff1a; 類是對象的數據類型類是具有相同屬性和行為的一組對象的集合 1.4 什么是對象的屬…

project.config.json 文件內容錯誤] project.config.json: libVersion 字段需為 string, string

家人們&#xff0c;遇到了一個新的報錯 于是從網上找了各種方法&#xff0c;有說把開發者工具關閉重啟的&#xff0c;有說開發者工具下載重新下載的&#xff0c;有說開發者工具路徑安裝得在C盤的&#xff0c;均沒有效果 解決方法&#xff1a; 1、運行項目&#xff0c;在開發者…

[安洵杯 2019]easy_serialize_php1

打開題目 題目源碼&#xff1a; <?php$function $_GET[f];function filter($img){$filter_arr array(php,flag,php5,php4,fl1g);$filter /.implode(|,$filter_arr)./i;return preg_replace($filter,,$img); }if($_SESSION){unset($_SESSION); }$_SESSION["user&q…

好的測試數據管理,到底要怎么做?

你的組織是否實施了測試數據管理&#xff1f;如果你的組織處理關鍵或敏感的業務數據&#xff0c;測試數據管理肯定會讓組織受益。與測試數據相關的問題占所有軟件缺陷的 15%&#xff0c;這一事實強調了測試數據的重要性。本文將準確討論測試數據經理職責、測試數據經理需要什么…

java-ssm-jsp廣播劇制作訂閱系統

java-ssm-jsp廣播劇制作訂閱系統 獲取源碼——》公主號&#xff1a;計算機專業畢設大全

AFL fork server和fuzzer的交互

看了一些博客&#xff0c;都是在說fuzzer和fork server進行交互&#xff0c;由fork server fork出子進程來執行程序&#xff0c;但是不太明白這兩者到底是如何在代碼層面進行交互的。 run_target中有這么一段代碼&#xff0c;大概意思是fuzzer給fork server傳遞prev_timed_out…

13.網絡游戲逆向分析與漏洞攻防-網絡通信數據包分析工具-如果沒有工具就創造工具

內容參考于&#xff1a; 易道云信息技術研究院VIP課 上一個內容 &#xff1a;12.游戲網絡通信存在的問題 現在把游戲網絡的架構看了一個小小的大概&#xff0c;可以用它的接口發數據接收數據了&#xff0c;如果真正想用它這一套東西&#xff0c;真正核心不在于它的接口而在于…

2024GAS《聲學大講堂》

由中國電子音響行業協會主辦&#xff0c;上海市浦東新區先進音視頻技術協會承辦的GAS《聲學大講堂》2021年開播&#xff0c;三年來GAS《聲學大講堂》開設了“沉浸聲音頻與藝術”、“智能車載音頻”、“智能可穿戴”、“智能耳機”、“智能音箱”、“專業音響”、“助聽/輔聽設備…

老衛帶你學---leetcode刷題(268. 丟失的數字)

268. 丟失的數字 問題 給定一個包含 [0, n] 中 n 個數的數組 nums &#xff0c;找出 [0, n] 這個范圍內沒有出現在數組中的那個數。 示例 1&#xff1a; 輸入&#xff1a;nums [3,0,1] 輸出&#xff1a;2 解釋&#xff1a;n 3&#xff0c;因為有 3 個數字&#xff0c;所以…

R語言安裝和簡單入門HelloWorld用法

R語言安裝和簡單入門HelloWorld用法 #R語言安裝地址 https://www.r-project.org/ click->CRAN mirror->選擇China下列表&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 選擇Download R for Windows 選擇base Download R-4.3.2 for Windows 下載文件R-4.3.2-…

怎么重構數據庫表結構

重構數據庫表結構是指對已有的數據庫表進行調整和優化&#xff0c;以提高數據庫的性能、可擴展性和可維護性。以下是一些重構數據庫表結構的常見步驟&#xff1a; 分析現有表結構&#xff1a;首先&#xff0c;仔細分析現有的數據庫表結構&#xff0c;了解表之間的關系和依賴關…

數據結構從入門到精通——算法的時間復雜度和空間復雜度

算法的時間復雜度和空間復雜度 前言一、算法效率1.1 如何衡量一個算法的好壞1.2 算法的復雜度 二、時間復雜度2.1 時間復雜度的概念2.2 大O的漸進表示法2.3常見時間復雜度計算舉例2.4等差數列計算公式2.5等比數列計算方法 三、空間復雜度四、 常見復雜度對比五、 復雜度的oj練習…

ts學習:is關鍵詞

is關鍵詞主要用來框定類型并實現對應的類型斷言&#xff0c;下面看一個例子 寫一個簡單函數來判斷某個值是否是字符串類型 function isString(value:unknown):boolean{return typeof value "string" } 這里我們的參數選用了unknown類型&#xff0c;該類型就是一個…

python代碼優化學習

代碼優化對比&#xff1a; 優化前&#xff1a; # 登錄系統 xxljob_login() start_time time.time() # 循環處理需要補數的數據 for item in authId_lists: preSettleInfoHandler(item) count 1 print("運行了第" str(count) "個") …

數據分析---主要工作

目錄 幾個主要工作常用的數據分析工具具體的使用場景幾個主要工作 數據清洗和預處理:對原始數據進行清洗、去重、填充缺失值、處理異常值等操作,以確保數據的準確性和完整性。探索性數據分析(EDA):通過可視化和統計方法,對數據進行探索,發現數據的分布、相關性、異常情況…

【JVM】聊聊常見的JVM排查工具

JDK工具包 jps 虛擬機進程狀況工具 jps是虛擬機進程狀況工具&#xff0c;列出正在運行的虛擬機進程&#xff0c;使用 Windows 的任務管理器或 UNIX 的 ps 命令也可以查詢&#xff0c;但如果同時啟動多個進程&#xff0c;必須依賴 jps。jps -l 顯示類名 jps :列出Java程序進程…