打卡第三天

2021-08-28 10:26:43 字數 1924 閱讀 2231

基礎入門簡單c語言題目:

1:      the hardest problem ever

解答:先建立字元陣列,把不正確的字元一一給找出來,再用正確的字元替換他們;

#include

#include

#include

char str[1000];

int main()

if(str[i]<=69&&str[i]>=65)     //如果字元是a b c d e,則把他們轉化成v w x y z一一對應,

str[i]=str[i]+21;

}printf("%s\n",str);                    //輸出字元陣列

}return 0;

}或者:第二種方法:事先把乙個完整的表:plain text存下來,然後把對應的字母表示出來就ok了

#include

#include

#include

#include

using namespace std;

char a[100],str[100];

char s[27]=;//是plain text裡的字母,看作是翻譯的模板即可;

int main()

if(strcmp(a,"start")==0)              //從start開始讀取字串

printf("%s\n",str);}}

return 0;

}輸入:start

ns,bfw,jajsyx

end結果:in,war,events

2:    big number

思路:乙個數的位數等於他對10取對數+1;

#include

#include

#include

using namespace std;

int main()

printf("%d\n",(int)sum+1);

}return 0;

}3:digital roots

運用九餘定理

題意分析:數根的定義:將乙個數的每位數相加得到乙個新的數,如果該數為一位數,該新數即是數根;否則重複開頭的步驟。例如:28945 -> 2+8+9+4+5=28 -> 2+8+10 -> 1+0 = 1;所以1即是28945的數根。

解題思路:當然,直接按題目的字面意思做也能ac。

#include

int main()

return 0;

}這裡我只是想介紹一下九餘數定理。

我麼們知道,不管是什麼數,數根一定是0~9其中的乙個,因為不會有正數各位之和為0。

證明:

假設,數sum的根為sum%9( 暫時不取0,整除時取9)

當sum < 10時,1~9這9個數肯定成立;

當sum >= 10時,sum的根為d%9 = (sum-1)%9+1,即sum的前乙個數的數根加1.

得證.

#include

#include

int main()

flag==0?prime[i]=1:prime[i]=0;}}

int tail[40];

void print()

}bool book[40];

void dfs(int x)

for(int i=2;i<=n;++i)}}

int main()

}5.a mathematical curiosity

#include

int main()

}printf("%d\n",cnt);

}if(t)

printf("\n");

}return 0;

}

打卡第三天

dict字典 字典是一種可變容器模型,且可儲存任意型別物件,字典得每個鍵值對key value對用冒號 分割,每個鍵值對之間用逗號,分割,整個字典包括在花括號 中 建立d 字典的方法 訪問字典裡的值 dict print dict name dict name print dict age dict...

集訓第三天,打卡

今天訓練賽自己價效比搞了個k題,相對較水,也算做了點貢獻吧。有一條概率dp,戴老闆秒切,膜啊,覺得不錯,所以寫了來。題意是乙個棋盤,在上面隨機放旗子,問所有的列和行上至少有乙個棋子的期望是多少。顯然的概率dp,dp i j k 表示放了i個棋子,覆蓋了j行,k列的概率。當前狀態都可以由放i 1個棋子...

第三天(Python打卡)

遞迴 def factorial n if n 1 return 1 else return n factorial n 1 number int input 請輸入乙個正整數 result factorial number print d 的階乘是 d number,result 解決漢諾塔問題 ...