习题集链接:https://ac.nowcoder.com/acm/contest/18839
点不到不负责()
低情商:懒狗作者
高情商:给读者独立思考空间,达到授人以渔的效果(确信)
1046和1048摸了,大概
1001
打表
1002
打表,但是正常写的话挺有意思
贴个代码看得懂的有兴趣可以看
#include <iostream> #include <math.h> using namespace std; void reset(int cnt[]){ int i; for(i=1;i<10;i++){ cnt[i]=0; } } bool judge(int n,int cnt[]){ int i,tmp[10]={0}; for(;;){ if(cnt[n%10] || tmp[n%10]){ return false; } tmp[n%10]++; n/=10; if(!n){ break; } } for(i=1;i<10;i++){ cnt[i]+=tmp[i]; } return true; } int main() { int a,b,i,cnt[10]={1},tmp[10]={1}; for(a=1000;a<10000;a++){ reset(cnt); if(judge(a,cnt)){ for(b=1;b*b<a;b++){ if(!(a%b) && judge(b,tmp)){ if(judge(a/b,tmp)){ for(i=1;i<10;i++){ if(cnt[i]+tmp[i] != 1){ break; } } if(i==10)cout<<a << " = " << b << " x " <<a/b<<endl; } reset(tmp); } } } } return 0; }
(当时不知道有memset)
1003
打表,数空格
1004
打表
1005
可以打表,但没必要
for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ if(j!=1){ printf(" "); } printf("%d*%d=%2d",j,i,j*i); } printf("\n"); }
1006
在“,”,\,前加转义字符‘\’
1007
c格式"%.3f%%",c++格式<<setprecision(3)<<setiosflags(ios::fixed)<<
1008
打表
1009
i=0;i<3;i++
直接打也行
1010
int
1011
double,同1007
1012
不爆int
1013
不用特判b==0,测试点没给
1014
%
1015
类型转换,然后同1007
1016
1013+1014
1017
a<=b,不用绝对值 (题外话:好诗)
1018
x%7+1
1019
特判星期天
((a+b)%7?(a+b)%7:7)
1020
char *s="hello world"; while(*s!='\0'){ putchar(++*s); s++; }
打表也行吧。。
1021
c格式%x,c++格式<<hex<<
1022
%10
1023
/10%10
1024
cout<<n%10;n/=10;
1025
输出格式
1026
整个杂技,记得给tot赋初值0
while(~scanf("%d",&n))tot+=n;/*scanf在输入结束时返回EOF(-1)*/
1027
(up+down)*height/2,留意类型转换和输出格式
1028
2(a+b)和ab
1029
还是套公式
1030
海伦
1031
3.156e7*200会爆int,所以用long long
1032
/3600;%3600/60;%60
1033
(double)5/9*(a-32)
1034
262144*a,int够用
1035
0.2a+0.3b+0.5c
1036
cout<<(a>b?a>c?a:c:b>c?b:c);
建议max,max挺好的,这个只是我个人习惯
1037
最大最小分一组,我用到了快排所以丢个完整代码
#include <bits/stdc++.h> using namespace std; int cmp(const void *a,const void *b){ return *(int*)a-*(int*)b; } int main() { int L[4],i; for(i=0;i<4;i++){ cin>>L[i]; } qsort(L,4,sizeof(int),cmp); cout<<fabs(L[3]+L[0]-L[1]-L[2]); return 0; }
可能小题大做了
1038
(int)sqrt(a)
1039
(sqrt(a*b/c)+sqrt(a*c/b)+sqrt(b*c/a))*4
1040
3*pow(n,1.0/3)
1041
n+1
一次方
1042
(n+1)/2
a对半折=》b-a(奇数b会比a大1)=》a清零
1043
又到了我第二喜欢的三目运算符环节
((a[0]>a[4]?a[4]:a[0])+(a[1]>a[5]?a[5]:a[1])+(a[2]>a[3]?a[3]:a[2]))//看个思路就行
(题外话:1202年竟然能看到赌博默示录相关)
1044
两天三个为一组,n%3==2可以看成12...12131
2*(n/3)+(n%3?1:0)
1045
两头跑,010101
(n-1)/2
1046
(待补充)我看物理头疼
1047
还是那句话:
cout<<(n<m?n:m)<<' '<<(m+n-x>0?m+n-x:0);//x是总人数
1048
(待补充)我看语文也头疼