程式設計訓練 迴圈數

2021-10-08 18:53:23 字數 1271 閱讀 3118

迴圈數是n位長度的整數,當乘以從1到n的任何整數時,產生原始數字的「迴圈」。也就是說,如果考慮最後乙個數字之後的數字「繞」回到第乙個數字,兩個數字中的數字串行將是相同的,儘管它們可能從不同的位置開始。例如,數字142857是迴圈的,如下表所示:

142857 *1 = 142857

142857 *2 = 285714

142857 *3 = 428571

142857 *4 = 571428

142857 *5 = 714285

142857 *6 = 857142

編寫乙個程式來確定數字是否是迴圈數。

輸入乙個數,長度在2到60位之間(請注意,前面的零不應該被刪除,它們被認為是確定n的大小和計數的一部分,因此,「01」是乙個兩位數的數字,與「1」是乙個一位數的數字不同) 。

對於每個輸入,輸出一行(yes或no)標識它是否是迴圈數。

142857
yes
用string儲存輸入的數num和做乘法得到的數com;

定義字串judge為num的「2倍」,例如num=123,則judge=123123;

從低位開始做乘法,原數該位數字做乘法得到temp,temp對10取餘得到com該位的數字,temp大於等於10的部分進製;

用find()在judge中查詢com,出現查詢不到的情況則num不是迴圈數。

提交**如下(10/10分):

#include

#include

using

namespace std;

intmain()

//cout << com << endl;

_find = judge.

find

(com)

;//在judge中查詢com

if(_find == string::npos)

//找不到(com與原數的數字順序不同)}if

(flag ==

true

)else

return0;

}//最初使用的在judge中查詢com的方法,有漏洞

/*int sum_same=0;//得到的數各個數字與原數各個數字順序相同的個數

for (int j = 0; j < 2 * len;j++)

}cout << sum_same << endl;

break;}}

if(sum_same!=len)//順序不同

*/

程式設計訓練 迴圈左移

n個數字存入陣列,將其迴圈左移x位,輸出移動結果。樣例 10 1 2 3 4 5 6 7 8 9 10 34 5 6 7 8 9 10 1 2 3上述是十個數字,向左移動三位,輸出移動結果在最後一行。想象乙個長度位n的鉛筆,在長度為x的部分折成兩段,即第一段長度為x,第二段長度為n x。迴圈左移的x...

迴圈訓練 抗「疫」居家訓練指南迴圈訓練

為了便於大家居家訓練,在此選擇了迴圈訓練法作為保持體能的針對性方法。一 概念 迴圈訓練法是指根據訓練的具體任務,將練習手段設定為若干個練習站,運動員按照既定順序和路線,依次完成每站練習任務的訓練方法。運用迴圈訓練法可有效地激發訓練情緒,通過交替刺激不同體位累積負荷 痕跡 迴圈訓練法的結構因素有每站的...

Tensorflow訓練迴圈

def fit loop model,inputs,targets,sample weights none,class weight none,val inputs none,val targets none,val sample weights none,batch size none,epoch...