任务3
task.3
#include <stdio.h>
long long func(int n);
int main(){
int n;
long long f;
while(scanf("%d", &n) != EOF){
f = func(n);
printf("n = %d, f = %lld\n", n, f);
}
return 0;
}
long long func(int n){
int i, t;
t = 0;
for(i=1;i<=n;++i)
t=2 * t + 1;
return t;
}
task.4
#include <stdio.h>
int func(int n, int m);
int main(){
int n, m;
while(scanf("%d%d", &n, &m) != EOF)
printf("n = %d, m = %d, ans = %d\n",n, m, func(n, m));
return 0;
}
int func(int n, int m){
int i, j, k, down1=1, down2=1, up=1, ans;
for(i=1;i<=n;++i)
up*=i;
for(j=1;j<=m;++j)
down1*=j;
for(k=1;k<=(n-m);++k)
down2*=k;
ans=up/(down1 *down2);
return ans;
}

task.5
#include <stdio.h> #include <stdlib.h> #include <math.h> void hanoi(unsigned int n,char from,char temp,char to); void moveplate(unsigned int n,char from,char to); int main() { unsigned int n,i,step; while(scanf("%u",&n) != EOF){ hanoi(n,'A','B','C'); step = 0; for(i=1;i<=n;++i) step=2*step +1; printf("一共移动了%d次\n", step);} system("pause"); return 0; } void hanoi(unsigned int n,char from,char temp,char to) { if(n==1) moveplate(n,from,to); else { hanoi(n-1,from,to,temp); moveplate(n,from,to); hanoi(n-1,temp,from,to); } } void moveplate(unsigned int n,char from,char to) { printf("%u:%c-->%c\n",n,from,to); }

task.6
#include <stdio.h> #include <math.h> long func(long s); int main(){ long s, t; printf("Enter a nuber: "); while (scanf("%ld", &s) != EOF){ t = func(s); printf("new nuber is: %ld\n\n", t); printf("Enter a nuber: "); } return 0; } long func(long s){ int sum, t; do{ if(s%2!=0){ t=s%10; sum = 10 * sum+t; } s/=10; }while(s>=10); return sum; }


浙公网安备 33010602011771号