刚开始学习c语言,这几个题我不会,还没有掌握,请友友们解答!
5条回答 默认 最新
- fsy351 2022-12-25 13:55关注
1009 Code
有可能超时,应该还有优化的空间。
#include<stdio.h> int main(){ int T; scanf("%d", &T); for( int t = 0; t < T ;t++ ) { unsigned long long x; unsigned int n; scanf("%lld %d", &x, &n); unsigned long long Gx = x; for( int i=0; i < n; i++) { unsigned long long tmp = Gx; unsigned long long fx = 1; while ( tmp != 0 ) { fx *= tmp % 10; tmp /= 10; } Gx = fx; if( Gx < 10 ) { break; } } printf("%lld\n", Gx); } return 0; }
1018 Code
#include<stdio.h> int main(){ int N; scanf("%d", &N); while ( N-- ) { int a,b; scanf("%d %d", &a, &b); int maxL = a < b? a : b; unsigned long long cnt = 0; for( int t = 0; t < maxL ; t++ ) { cnt += (a - t) * (b - t); } printf("%lld\n", cnt); } return 0; }
1019 code
```c #include<stdio.h> #include<math.h> int main(){ int T; scanf("%d", &T); while ( T-- ) { int Ax,Ay,Bx,By,Cx,Cy; scanf("%d %d %d %d %d %d", &Ax,&Ay,&Bx,&By,&Cx,&Cy); double area = 0; if( Ax == Bx || Ay == By ) { area = abs( (Ax-Cx)*(Ay-Cy) ); } else{ float cosAg = ( (Bx-Ax)*(Cx-Ax) + (By-Ay)*(Cy-Ay) ) / ( sqrt( (Cx-Ax)*(Cx-Ax) + (Cy-Ay)*(Cy-Ay) ) * sqrt( (Bx-Ax)*(Bx-Ax) + (By-Ay)*(By-Ay) ) ); area = abs( ( (Cx-Ax)*(Cx-Ax) + (Cy-Ay)*(Cy-Ay) ) * sqrt( 1 - cosAg* cosAg ) * cosAg ); } printf("%.1f\n", area); } return 0; }
```
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line