摘要:
现有21根火柴,两人轮流取,每人每次可取走1- 4根,不可多取,也不能不取,谁取最后一根火柴则谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。从前往后推(人) (机)1 2~56 7~101112~1516 17~2021只要人按1,6,11,16,21走,计算机就必定能赢#includeint main(){ int m,n=21; while(1) { printf("How many sticks do you wish to take(1~4)?"); scanf("%d",&m); n-=m; if( 阅读全文
摘要:
水~~不过有些小问题这是AC代码:#include<iostream>#include<string.h>using namespace std;int main(){ int n,y; char s[500]; while(cin>>n) while(n--){ scanf("%s",s); y=1; int k=strlen(s); for(int i=0;i<=k/2;i++) { if(s[i]!=s[k-i-1]) y=0; } cout<<(y?"yes":"no")& 阅读全文
摘要:
水~~找规律#include<iostream>using namespace std;int cow(int n){ if(n>4) return cow(n-1)+cow(n-3); else return n;}int main (){ int n; while(cin>>n&&n) printf("%d\n",cow(n)); return 0;} 阅读全文
摘要:
2000~2007//2000 http://acm.hdu.edu.cn/showproblem.php?pid=2000#include<stdio.h>#include<string.h>void main(){ char str[4],t; int i; while(scanf("%s",str)!=EOF) { for(i=0;i<2;i=i++) { if(str[i]>str[i+1]) { t=str[i]; str[i]=str[i+1]; str[i+1]=t; } } for(i=0;i<2;i=i++) { 阅读全文
摘要:
初看到这题就想到fibonacci数,算了几个,果然!!#include<iostream>using namespace std;int main(){ int n,m,a[45],i; a[1]=0; a[2]=1; a[3]=2; for(i=4;i<=40;i++) a[i]=a[i-1]+a[i-2]; while(scanf("%d",&n)!=EOF) { while(n--) { scanf("%d",&m); printf("%d\n",a[m]); } } return 0;} 阅读全文