基礎入門簡單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 解決漢諾塔問題 ...