



刚开始学习c语言,这几个题我不会,还没有掌握,请友友们解答!
有可能超时,应该还有优化的空间。
#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;
}
#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;
}
```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;
}
```