hdu2051
十进制转二进制,太水不谈
1 #include<stdio.h> 2 void cmp(int n) 3 { 4 if (n>1) cmp(n/2); 5 printf("%d",n%2); 6 } 7 int main() 8 { 9 int n; 10 while (scanf("%d",&n)!=EOF) 11 { 12 cmp(n); 13 printf("\n"); 14 } 15 return 0; 16 }
hdu2052
按给出的长和宽输出矩形,太水
1 #include<stdio.h> 2 int main() 3 { 4 int n,m; 5 while (scanf("%d%d",&n,&m)!=EOF) 6 { 7 int i,j; 8 char x[75][75]; 9 for (i=0;i<75;i++) for (j=0;j<75;j++) x[i][j]=' '; 10 x[0][0]=x[0][m+1]=x[n+1][0]=x[n+1][m+1]='+'; 11 for (i=1;i<m+1;i++) x[0][i]=x[n+1][i]='|'; 12 for (i=1;i<n+1;i++) x[i][0]=x[i][m+1]='-'; 13 for (i=0;i<=m+1;i++) 14 { 15 for (j=0;j<=n+1;j++) printf("%c",x[j][i]); 16 printf("\n"); 17 } 18 printf("\n"); 19 } 20 return 0; 21 }
hdu2053
有一排灯一开始全暗着,第 i 秒编号为 i 倍数的灯改变开关情况,问最后某盏灯情况,暴力模拟也行,求因子个数也行
1 #include<stdio.h> 2 int main() 3 { 4 long long n; 5 while (scanf("%I64d",&n)!=EOF) 6 { 7 int i,count=0; 8 for (i=1;i<=n;i++) if (n%i==0) count++; 9 if (count%2) printf("1\n"); 10 else printf("0\n"); 11 } 12 return 0; 13 }
hdu2054
新人小盆友们的噩梦,怎么==都是WA,AC之神永远不站在你那边```是的,如此丧病的题目啊```
1 #include<stdio.h> 2 #include<string.h> 3 long long fun1(char x[],long long len) //处理整数 4 { 5 long long i; 6 while (x[0]=='0'&&len>1) 7 { 8 for (i=1;i<len;i++) 9 { 10 x[i-1]=x[i]; 11 } 12 len--; 13 } 14 return len; 15 } 16 17 long long fun2(char x[],long long len) //处理小数 18 { 19 long long i; 20 if (x[0]=='.') 21 { 22 for (i=len-1;i>=0;i--) x[i+1]=x[i]; 23 x[0]='0'; 24 len++; 25 } 26 while (x[0]=='0'&&x[1]!='.') 27 { 28 for (i=1;i<len;i++) x[i-1]=x[i]; 29 len--; 30 } 31 while (x[len-1]=='0') len--; 32 return len; 33 } 34 35 long long fun3(char x[],long long len) //处理后置0,去除+,判断-0 36 { 37 long long i,j; 38 if (x[0]=='+') 39 { 40 for (i=1;i<len;i++) x[i-1]=x[i]; 41 len--; 42 } 43 bool flag=1; 44 for (i=0;i<len;i++) 45 { 46 if (x[i]=='.') 47 { 48 for (j=i+1;j<len;j++) 49 { 50 if (x[j]!='0') 51 { 52 flag=0; 53 break; 54 } 55 } 56 break; 57 } 58 } 59 if (x[0]=='-') 60 { 61 for (i=1;i<len;i++) 62 { 63 if (x[i]>='1'&&x[i]<='9') break; 64 } 65 if (i==len) 66 { 67 for (i=1;i<len;i++) x[i-1]=x[i]; 68 len--; 69 } 70 } 71 if (flag) return i; 72 return len; 73 } 74 75 int main() 76 { 77 char a[100000],b[100000]; 78 while (scanf("%s%s",a,b)!=EOF) 79 { 80 long long len1,len2,i; 81 len1=strlen(a); 82 len2=strlen(b); 83 len1=fun3(a,len1); 84 len2=fun3(b,len2); 85 bool flag1=1,flag2=1; //1表示整数,0表示小数 86 if ((a[0]=='-'&&b[0]!='-')||(b[0]=='-'&&a[0]!='-')) printf("NO\n"); //判断是否同正负 87 else 88 { 89 { //判断分别为整数或小数 90 for (i=0;i<len1;i++) if (a[i]=='.') 91 { 92 flag1=0; 93 break; 94 } 95 for (i=0;i<len2;i++) if (b[i]=='.') 96 { 97 flag2=0; 98 break; 99 } 100 } 101 if (flag1!=flag2) printf("NO\n"); //不同为整数或小数直接判NO 102 else 103 { 104 if (a[0]=='-'&&b[0]=='-') //如有负号先去掉 105 { 106 for (i=1;i<=len1;i++) a[i-1]=a[i]; 107 len1--; 108 for (i=1;i<=len2;i++) b[i-1]=b[i]; 109 len2--; 110 } 111 if (flag1&&flag2) 112 { 113 len1=fun1(a,len1); 114 len2=fun1(b,len2); 115 } 116 else 117 { 118 len1=fun2(a,len1); 119 len2=fun2(b,len2); 120 } 121 if (len1!=len2) printf("NO\n"); 122 else 123 { 124 for (i=0;i<len1;i++) if (a[i]!=b[i]) break; 125 if (i==len1) printf("YES\n"); 126 else printf("NO\n"); 127 } 128 } 129 } 130 } 131 return 0; 132 }
hdu2055
加法乱搞
1 #include<stdio.h> 2 3 int main() 4 { 5 int T; 6 while (scanf("%d",&T)!=EOF) 7 { 8 int i; 9 for (i=1;i<=T;i++) 10 { 11 char x; 12 long long y,t; 13 scanf("%s%I64d",&x,&y); 14 if (x>='A'&&x<='Z') t=x-64; 15 if (x>='a'&&x<='z') t=96-x; 16 printf("%I64d\n",t+y); 17 } 18 } 19 return 0; 20 }
hdu2056
给出两个矩阵的对角线上两点,计算相交面积,当初WA六法,始终不知道到底为什么错,后来推了重写过了```
1 #include<stdio.h> 2 int main() 3 { 4 double x1,x2,x3,x4,y1,y2,y3,y4; 5 while (scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4)!=EOF) 6 { 7 double t,s,a,b,c,d; 8 if (x1>x2) 9 { 10 t=x1; 11 x1=x2; 12 x2=t; 13 } 14 if (y1>y2) 15 { 16 t=y1; 17 y1=y2; 18 y2=t; 19 } 20 if (x3>x4) 21 { 22 t=x3; 23 x3=x4; 24 x4=t; 25 } 26 if (y3>y4) 27 { 28 t=y3; 29 y3=y4; 30 y4=t; 31 } 32 if (y2<=y3||y4<=y1||x2<=x3||x4<=x1) s=0; 33 else 34 { 35 a=(x1>x3)?x1:x3; 36 b=(x4>x2)?x2:x4; 37 c=(y1>y3)?y1:y3; 38 d=(y4>y2)?y2:y4; 39 s=(b-a)*(d-c); 40 } 41 printf("%.2lf\n",s); 42 } 43 return 0; 44 }
hdu2057
ifelse乱搞题
1 #include<stdio.h> 2 #include<string.h> 3 4 long long pow1(int a,int b) 5 { 6 int i; 7 long long s=1; 8 for (i=1;i<=b;i++) s*=a; 9 return s; 10 } 11 12 long long cmp1(char a[],int len) 13 { 14 int i; 15 long long s=0; 16 for (i=0;i<len;i++) 17 { 18 if (a[i]>='a'&&a[i]<='f') a[i]-=87; 19 if (a[i]>='A'&&a[i]<='F') a[i]-=55; 20 if (a[i]>='0'&&a[i]<='9') a[i]-=48; 21 s+=(a[i]*(pow1(16,len-i-1))); 22 } 23 return s; 24 } 25 26 void cmp2(long long N) 27 { 28 char a[17]="0123456789ABCDEF"; 29 if (N>=16) cmp2(N/16); 30 printf("%c",a[N%16]); 31 } 32 33 int main() 34 { 35 char a[16],b[16]; 36 while (scanf("%s%s",a,b)!=EOF) 37 { 38 bool flag1=1,flag2=1; 39 int i,len1=strlen(a),len2=strlen(b); 40 long long s; 41 if (a[0]=='-') 42 { 43 flag1=0; 44 for (i=1;i<len1;i++) a[i-1]=a[i]; 45 len1--; 46 a[len1]='\0'; 47 } 48 if (b[0]=='-') 49 { 50 flag2=0; 51 for (i=1;i<len2;i++) b[i-1]=b[i]; 52 len2--; 53 b[len2]='\0'; 54 } 55 if (a[0]=='+') 56 { 57 for (i=1;i<len1;i++) a[i-1]=a[i]; 58 len1--; 59 a[len1]='\0'; 60 } 61 if (b[0]=='+') 62 { 63 for (i=1;i<len2;i++) b[i-1]=b[i]; 64 len2--; 65 b[len2]='\0'; 66 } 67 if (flag1&&flag2) s=cmp1(a,len1)+cmp1(b,len2); 68 if ((!flag1)&&(!flag2)) {printf("-");s=cmp1(a,len1)+cmp1(b,len2);} 69 if ((!flag1)&&flag2) 70 { 71 s=cmp1(b,len2)-cmp1(a,len1); 72 if (s<0) {printf("-");s=-s;} 73 } 74 if (flag1&&(!flag2)) 75 { 76 s=s=cmp1(a,len1)-cmp1(b,len2); 77 if (s<0) {printf("-");s=-s;} 78 } 79 cmp2(s); 80 printf("\n"); 81 } 82 return 0; 83 }
hdu2058
10^9,On也会挂的,所以先要发现条件```然后乱搞```
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int N,M; 6 while (scanf("%d%d",&N,&M)!=EOF) 7 { 8 if (N!=0||M!=0) 9 { 10 int l,a; 11 for (l=sqrt(M*2.0);l>=1;l--) 12 { 13 a=M*1.0/l-l*1.0/2+1.0/2; 14 if ((2*a+l-1)*l==2*M) printf("[%d,%d]\n",a,a+l-1); 15 } 16 printf("\n"); 17 } 18 } 19 return 0; 20 }
浙公网安备 33010602011771号