映成函數個數
函數疊代f(f(f(a))) 函數疊代f(f(f(a)))
2^x個位數疊加
整數商餘
正因數平方和 正因數倒數和 正因數之積
有k個正因數之最小數為何
最小公倍數(2數) 最小公倍數(3數)
最大公因數(2數)
明天要期中考
想想沒解答好像怪怪說囧?(不會難道要等死)
(其實我是想以後都等算遲交才要弄這個免得麻煩)
話說有時間壓力就不想去管啥破牌了阿(紀錄最醜的一次)
不過拿鐵牌感覺出乎意料的不錯耶(乾脆以後非鐵牌不拿好了XD)
另外破爛雲端電腦浪費我快半小時~
害我沒在學校寫完阿~真是遺憾
來下注明天考試電腦會不會掛掉吧E04!
(話說明天上機應該會切網路吧囧不然google不就知道答案了)
這歌明天在學校放好了(不過為啥是計概囧)
然後這首留在期末放畢竟明天才第一次上機考試嘛
E04!!
一對一函數個數
using namespace std;
int main(){
int a,b,i,sum=1;
cout<<"請輸入定義域集合A元素個數:"<<endl;
cin>>a;
cout<<"請輸入對應域集合B元素個數:"<<endl;
cin>>b;
for(i=0;i<a;i++){
sum*=(b-i);
}
cout<<"A->B的一對一函數共"<<sum<<"個。";
}
雖然老師很好心的(自稱)直接把解答的公式打上(b)*(b-1)*(b-2)*...*(b-a+1)
不過沒順便整理阿囧
(b-0)*(b-1)*(b-2)*...*(b -(a-1))
映成函數個數
using namespace std;
int c(int b,int i){
int sum=1,j;
if(i==0)return 1;
else {
for(j=0;j<(b-i);j++)
sum= ( sum*(b-j) ) / (j+1);
return sum;
}
}
int main(){
int a,b,bx,k=1,i,j,sum=0;
cout<<"請輸入定義域集合A元素個數:"<<endl;
cin>>a;
cout<<"請輸入對應域集合B元素個數:"<<endl;
cin>>b;
for(i=0;i<=b;i++){
bx=1;
for(j=0;j<a;j++){
bx*=(b-i);
}
sum+=c(b,i)*bx*k;
k*=-1;
}
cout<<"A->B的映成函數共"<<sum<<"個。";
}
一樣好心的(謊稱!?)給公式:b^a + C(b,1)*(b-1)^a*(-1)^1+C(b,2)*(b-2)^a*(-1)^2+...++...+C(b,b)*(b-b)^a*(-1)^b
.......C是什麼阿喂!
排列組合忘掉了啦(PS.C(n, r) = n! / ((n − r)! × r!))
C(b,0)*(b-0)^a*(-1)^0 +
C(b,1)*(b-1)^a*(-1)^1 +
C(b,2)*(b-2)^a*(-1)^2 +
C(b,k)*(b-k)^a*(-1)^k +...+
C(b,b)*(b-b)^a*(-1)^b
函數疊代f(f(f(a)))
using namespace std;
double f(double x){
return (x+3)/(x+2);
}
int main(){
double x;
cout<<"請輸入一整數:"<<endl;
cin>>x;
cout<<"f(f(f("<<x<<")))="<<f(f(f(x)));
}
函數疊代f(f(f(a)))
using namespace std;
double f(double x){
return ((x+3)*(x+1))/(x+2);
}
int main(){
double x;
cout<<"請輸入一整數:"<<endl;
cin>>x;
cout<<"f(f(f("<<x<<")))="<<f(f(f(x)));
}
2^x個位數疊加
using namespace std;
int main(){
int n,i,k=1,sum=0;
cout<<"請輸入一整數n:"<<endl;
cin>>n;
for(i=1;i<=n;i++){
k=(k*2)%10;
sum+=k;
}
cout<<"其個位數為"<<sum%10;
}
k*=2%10; 不等於k= (k*2)%10
k=k*(2%10)
整數商餘
using namespace std;
int main(){
int m,n;
cout<<"請輸入兩整數 m 與 n :";
cin>>m>>n;
cout<<m<<" 除以 "<<n<<" 之商為 "<<m/n;
cout<<m<<" 除以 "<<n<<" 之餘為 "<<m%n;
}
正因數平方和
using namespace std;
int main(){
int n,i,sum=0;
cout<<"請輸入一整數n:"<<endl;
cin>>n;
for(i=1;i<=n;i++)
if(n%i==0)sum+=i*i;
cout<<"該數正因數平方和為:"<<sum;
}
正因數倒數和
using namespace std;
int main(){
int n,i;
double sum=0;
cout<<"請輸入一整數n:"<<endl;
cin>>n;
for(i=1;i<=n;i++)
if(n%i==0)sum+=1.0 / i;
cout<<"該數正因數倒數和為:"<<sum;
}
正因數之積
using namespace std;
int main(){
int n,i,sum=1;
cout<<"請輸入一整數n:"<<endl;
cin>>n;
for(i=1;i<=n;i++)
if(n%i==0)sum*=i;
cout<<"該數正因數之積為:"<<sum;
}
有k個正因數之最小數為何
using namespace std;
int x(int n){
int i,sum=0;
for(i=1;i<=n;i++){
if(n%i==0)sum++;
}
return sum;
}
int main(){
int k,i=1;
cout<<"請輸入一整數k:"<<endl;
cin>>k;
while(x(i)<k)i++;
cout<<"該數為"<<i;
}
最小公倍數(2數)
using namespace std;
int main(){
int x,y,i=1;
cout<<"請輸入兩整數"<<endl;
cin>>x>>y;
x=abs(x);
y=abs(y);
while(i%x!=0 || i%y!=0)i++;
cout<<"最小正公倍數為"<<i;
}
最小公倍數(3數)
using namespace std;
int main(){
int x,y,z,i=1;
cout<<"請輸入三整數"<<endl;
cin>>x>>y>>z;
x=abs(x);
y=abs(y);
z=abs(z);
while(i%x!=0||i%y!=0||i%z!=0)i++;
cout<<"最小正公倍數為"<<i;
}
不建議判斷式省略等於or不等於
最大公因數(2數)
using namespace std;
int main(){
int x,y,i;
cout<<"請輸入兩整數:"<<endl;
cin>>x>>y;
x=abs(x);
y=abs(y);
if(x==0&&y==0)
cout<<"沒有最大公因數";
else if(x==0||y==0){
if(x<y)swap(x,y);
cout<<"最大公因數為"<<x;
}
else {
while(x%=y)swap(x,y);
cout<<"最大公因數為"<<y;
}
}
最大公因數 測資裡面有0真的有夠微妙囧
大概是想要人用 for 寫吧~