freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

程序設計實習第四講高精度計算-資料下載頁

2025-07-20 06:55本頁面
  

【正文】 1 = 142857 142857 *2 = 285714 142857 *3 = 428571 142857 *4 = 571428 142857 *5 = 714285 142857 *6 = 857142 ? 輸入 ? 寫一個程序判斷一個整數(shù)是否是循環(huán)數(shù)。輸入文件是一個整數(shù)序列,每個整數(shù)長度為 2~60。注意:每個整數(shù)前面的零被看作是該整數(shù)的一部分,在計算 N時要統(tǒng)計。例如“ 01”是一個 2位的整數(shù),而“ 1”是一個 1位的整數(shù)。 ? 輸出 ? 對每個輸入整數(shù),輸出一行,說明該整數(shù)是否是循環(huán)數(shù)。 ? 樣例輸入 142857 142856 142858 01 0588235294117647 ? 樣例輸出 142857 is cyclic 142856 is not cyclic 142858 is not cyclic 01 is not cyclic 0588235294117647 is cycl 解題思路 ? 高精度的乘法:整數(shù)可能達 60位 ? X*1: Y0 = X。 ? X*2: Y1 = Y0+X ? X*3: Y2 = Y1+X ? …… ? Yi是否是 X的“循環(huán)”? 解題思路 : Yi是否是 X的 “ 循環(huán) ” ? ? 窮舉: N位整數(shù),循環(huán)移位可以有 N種可能 ? 循環(huán)移位方法: ? Yi是否是“ XX” 的子串? 1 2 3 4 5 6 7 1 2 3 4 5 6 7 \0 include include define MAX_LEN 201 int an1[MAX_LEN+10]。 int an2[MAX_LEN+10]。 char szLine1[MAX_LEN+10]。 char szLine2[MAX_LEN+10]。 char szDouble[2 * MAX_LEN + 10]。 int Add(int nMaxLen , int * an1, int * an2) //將長度最多為 nMaxLen 的大整數(shù) an1和 an2 相加,結果放在 an1 //an1[0],an2[0]對應于個位 { int nHighestPos = 0。 for(int i = 0。i nMaxLen。 i ++ ) { an1[i] += an2[i]。 //逐位相加 if( an1[i] = 10 ) { //看是否要進位 an1[i] = 10。 an1[i+1] ++。 //進位 } if( an1[i] ) nHighestPos = i。 //記錄最高位的位置 } return nHighestPos。 } int main() { while( gets( szLine1 ) amp。amp。 szLine1[0] ) { int i, j。 //庫函數(shù) memeset將地址 an1開始的 sizeof(an1)字節(jié)內(nèi)容置成 0 //sizeof(an1)的值就是 an1的長度 //memset函數(shù)在 memset( an1, 0, sizeof(an1))。 memset( an2, 0, sizeof(an1))。 //下面將 szLine1中存儲的字符串形式的整數(shù)轉換到 an1中去, //an1[0]對應于個位 int nLen1 = strlen( szLine1)。 for(j = 0, i = nLen1 1。i = 0 。 i ) { an1[j] = szLine1[i] 39。039。 an2[j++] = szLine1[i] 39。039。 } strcpy( szDouble, szLine1)。 strcat( szDouble, szLine1)。 bool bOk = true。 for( i = 1。 i nLen1。 i ++ ) { int nHighestPos = Add(MAX_LEN,an1,an2)。 if ( nHighestPos = nLen1 ) { //長度超出了 bOk = false。 break。 } for( int k = 0。 k nLen1。 k ++ ) //轉換成字符串 szLine2[nLen1 k 1] = an1[k] + 39。039。 szLine2[nLen1] = 0。 if( strstr( szDouble ,szLine2 ) == NULL ) { bOk = false。 break。 } } if( bOk) printf( %s is cyclic\n,szLine1)。 else printf( %s is not cyclic\n,szLine1)。 } return 0。
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1