目錄
範例
演算法
方法
輸出
結論
首頁 後端開發 C++ 最小的重複數字中的1的個數

最小的重複數字中的1的個數

Sep 06, 2023 pm 05:21 PM
數位 最小 重複 個數

最小的重複數字中的1的個數

在這個問題中,我們只需要列印最小單位中的 1 的數量。

reunit 是正數,如休閒數學中的 11、111 或 1111,只有數字 1。 reunit 的形式為 $\mathrm{(10*n-1)/9}$

範例

$\mathrm{(10*10-1)/9}$ 給出 11。

$\mathrm{(10*100-1)/9}$ 給出 111。

$\mathrm{(10*1000-1)/9}$ 給出 1111。

上面的問題指出,我們給定任意正整數 N,其單位數字為 3,我們需要確定能被給定數字 N 整除的最小單位。

例如,

如果我們給 N=13。

輸出:6

#N,即 13 完美整除 111111 得到 8547。

111111 是最小的重單位,可被 13 整除。因此,最小重單位中的 1 數量為 6,給出所需的輸出。

演算法

因為我們知道重複次數是 1、11、111、1111 等等。 x 之後的後續 reunit 可以定義為 $\mathrm{(x*10 1)}$。

此演算法僅基於這樣的概念:如果整數 N 留下的餘數為 rem,則重新單位餘數將始終為 $\mathrm{(rem*10 1)\%N}$。

確定重新單位數可能會過於繁瑣,因為該數字可能非常大,因此我們將透過更新餘數直到其變為 0 並透過每一步更新來計算 1 的數量來找到答案。使餘數為 0 所需的迭代次數將是最小重單位中 1 的數量。

以下是演算法的逐步描述 -

  • 第 1 步− 將變數剩餘宣告為 1,以儲存每次 N 剩餘的餘數 iteration 和 itr 為 1 來計算迭代次數。

  • #第 2 步 − 使用 while 迴圈,直到餘數變成 0。 p>

  • 第 3 步 − 每一步,更新餘數並增加 itr 1.

  • 第 4 步 − 一旦餘數等於 0,則回傳 itr。

讓我們對 N=13 嘗試這個方法。

因為我們在 while 迴圈之前將剩餘部分和 itr 宣告為 1。

現在,

  • 在第 1 次迭代中,餘數將為 (餘數*10 1)%N,即 11。 餘數=11且itr=2。 依照同樣的演算法,直到餘數變成0。

  • 在迭代 2 時,餘數=7 且 itr=3

  • 在迭代 3 時,餘數=6 且 itr=4

  • 在迭代 4 時,餘數=9 且 itr=5

  • 在迭代 5 時,餘數=0 且 itr=6。

由於餘數變成 0,我們將回傳 itr,即 6,這是所需的輸出。

方法

下面是上述方法在 C 中的實作 -

#include <iostream>
#include<bits/stdc++.h>

using namespace std;

//function to calculate no of ones in smallest repunit
int numberOfones(int N){  
   int remainder=1;
   
   int itr=1; // to store no of iterations
   
   while(remainder!=0){
      //update remainder
      remainder=(remainder*10 + 1)% N;
   
      itr++; //increase itr by 1 to get number of 1's in repunit
   }
   
   return itr;
}
int main(){
   int N=23;
   cout<<numberOfones(N);
   return 0;
}
登入後複製

輸出

22
登入後複製

能被 23 整除的最小重單位數將由 22 個 1 組成。

結論

在上面的文章中,我們嘗試解決了求出能被任意個位數為3的正整數N整除的最小單位的個數的問題。希望這篇文章能幫助你理清這個問題的概念.

以上是最小的重複數字中的1的個數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
iOS 17:如何在待機模式下變更iPhone時鐘樣式 iOS 17:如何在待機模式下變更iPhone時鐘樣式 Sep 10, 2023 pm 09:21 PM

待機是一種鎖定螢幕模式,當iPhone插入充電器並以水平(或橫向)方向定位時啟動。它由三個不同的螢幕組成,其中一個是全螢幕時間顯示。繼續閱讀以了解如何變更時鐘的樣式。 StandBy的第三個畫面顯示各種主題的時間和日期,您可以垂直滑動。某些主題也會顯示其他訊息,例如溫度或下一個鬧鐘。如果您按住任何時鐘,則可以在不同的主題之間切換,包括數位、類比、世界、太陽能和浮動。 Float以可自訂的顏色以大氣泡數字顯示時間,Solar具有更多標準字體,具有不同顏色的太陽耀斑設計,而World則透過突出顯示世界地

C++程式將一個數字四捨五入到n位小數 C++程式將一個數字四捨五入到n位小數 Sep 12, 2023 pm 05:13 PM

在任何語言中編寫程式時,將數字表示為輸出是一項有趣且重要的任務。對於整數類型(short、long或medium類型的資料),很容易將數字表示為輸出。對於浮點數(float或double類型),有時我們需要將其四捨五入到特定的小數位數。例如,如果我們想將52.24568表示為三位小數,需要進行一些預處理。在本文中,我們將介紹幾種技術,透過四捨五入將浮點數表示為特定的小數位數。在不同的方法中,使用類似C的格式化字串、使用精度參數以及使用數學函式庫中的round()函數是很重要的。讓我們逐一來看。帶有

JavaScript中產生隨機數字和字串 JavaScript中產生隨機數字和字串 Sep 02, 2023 am 08:57 AM

產生隨機數或字母數字字串的能力在許多情況下都會派上用場。您可以使用它在遊戲中的不同位置生成敵人或食物。您也可以使用它向用戶建議隨機密碼或建立文件名來保存文件。我寫了一篇關於如何在PHP中產生隨機字母數字字串的教學。我在這篇文章的開頭說,幾乎沒有事件是真正隨機的,同樣的情況也適用於隨機數或字串生成。在本教程中,我將向您展示如何在JavaScript中產生偽隨機字母數字字串。在JavaScript中產生隨機數字讓我們從產生隨機數開始。我想到的第一個方法是Math.random(),它回傳一個浮

解決Edge瀏覽器無限循環開啟網頁的方法 解決Edge瀏覽器無限循環開啟網頁的方法 Dec 25, 2023 pm 01:19 PM

在win10上使用edge瀏覽器的朋友們很多都遇到了網頁一直不停重複打開的問題很是頭疼,那麼該怎麼解決呢?下面就一起來看看詳細的解決方法吧。 edge瀏覽器一直重複開啟網頁怎麼辦:1.進入edge瀏覽器,點選右上角的三個點。 2、在工作列中點選「設定」。 3.找到「Microsoftedge開啟方式」。 4、點選下拉,選擇「起始頁」。 5.完成後重新啟動瀏覽器即可解決問題。

使用C++編寫程式碼,找到第N個非平方數 使用C++編寫程式碼,找到第N個非平方數 Aug 30, 2023 pm 10:41 PM

我們都知道不是任何數字的平方的數字,如2、3、5、7、8等。非平方數有N個,不可能知道每個數字。因此,在本文中,我們將解釋有關無平方數或非平方數的所有內容,以及在C++中尋找第N個非平方數的方法。第N個非平方數如果一個數是整數的平方,則該數稱為完全平方數。完全平方數的一些例子是-1issquareof14issquareof29issquareof316issquareof425issquareof5如果一個數不是任何整數的平方,則該數稱為非平方數。例如,前15個非平方數是-2,3,5,6,

如何在Oracle資料庫中僅提取一條重複資料? 如何在Oracle資料庫中僅提取一條重複資料? Mar 09, 2024 am 09:03 AM

如何在Oracle資料庫中僅提取一條重複資料?在日常的資料庫操作中,我們經常會遇到需要提取重複資料的情況。有時候我們希望找出重複數據中的一條,而不是將所有重複數據列出來。在Oracle資料庫中,我們可以藉助一些SQL語句來達成這個目的。接下來將介紹如何在Oracle資料庫中僅提取一條重複數據,並提供具體的程式碼範例。 1.使用ROWID函數ROWID是Ora

Java中的數字(帶有0前綴和字串) Java中的數字(帶有0前綴和字串) Aug 29, 2023 pm 01:45 PM

Java中的數字重要的是要理解數字類不是一個有形的類,而是一個抽象的類。在它內部,我們有一組定義其功能的包裝類別。這些包裝類別包括Integer、Byte、Double、Short、Float和Long。您可能會注意到,這些與我們之前討論的基本資料類型相同,但它們表示為具有大寫名稱的單獨類,以符合類命名約定。根據特定函數或程式範圍的要求,編譯器會自動將原始資料類型轉換為對象,反之亦然,且數字類別是java.lang套件的一部分。此過程稱為自動裝箱和拆箱。透過掌握數字類別及其對應的包裝類別的抽象性質,我們可以

找出在範圍內不可被任何數整除的數字,使用C++ 找出在範圍內不可被任何數整除的數字,使用C++ Sep 13, 2023 pm 09:21 PM

在本文中,我們將討論查找1到n(給定)之間的數字的問題,這些數字不能被2到10之間的任何數字整除。讓我們透過一些例子來理解這一點-Input:num=14Output:3Explanation:Therearethreenumbers,1,11,and13,whicharenotdivisible.Input:num=21Output:5Explanation:Therearefivenumbers1,11,13,17,and19,whicharen的解題方法簡單方法如果

See all articles