迴圈數是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...