1391
cpp
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int second=0;
scanf("%d",&second);
int hour=second/3600;
int minute=(second%3600)/60;
second-=hour*3600+minute*60;
printf("%02d:%02d:%02d\n",hour,minute,second);
}
return 0;
}
算是一个格式的题目,没想到自己还记得哈哈
1392
cpp
#include<stdio.h>
int gcd(int a,int b)
{
return b>0?gcd(b,a%b):a;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,b;
scanf("%d%d",&a,&b);
int up=2*a*a*a+a*a*b+2*a*b*b+b*b*b;
int down=2*(a+b);
int temp=gcd(up,down);
up/=temp;
down/=temp;
if(down==1) printf("%d\n",up);
else printf("%d/%d\n",up,down);
}
return 0;
}
确实啊,当时觉得难的不行的题,现在觉得其实一点都不难,所以自己还是练习的太少了,详细的过程可以看之前的博客
1393
WA了,感觉很奇怪啊,为啥
cpp
#include<stdio.h>
#define N 110
int a[N];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int cnt=0;
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
for(int k=j+1;k<=n;k++)
{
double cos_angle=((double)a[i]*(double)a[i]+(double)a[j]*(double)a[j]-(double)a[k]*a[k])/((double)2*a[i]*a[j]);
if(a[i]+a[j]>a[k]&&a[k]-a[i]<a[j]&&cos_angle>0&&cos_angle<1)
{
cnt++;
}
}
}
}
printf("%d\n",cnt);
}
return 0;
}
看了一下之前写的博客,原来是要把输入的数字排序,然后再根据锐角三角形的性质来计算,我这次居然想到了用余弦定理来计算哈哈,还是比较睿智的做法,最大的边对应的角一定是最大的角,最大的角的余弦值在0到1之间的话,说明最大的角是锐角,把计数器的值增加1即可
cpp
#include<stdio.h>
#define N 110
int a[N];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(a[j]<a[i])
{
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
int cnt=0;
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
for(int k=j+1;k<=n;k++)
{
double cos_angle=((double)a[i]*(double)a[i]+(double)a[j]*(double)a[j]-(double)a[k]*a[k])/((double)2*a[i]*a[j]);
if(a[i]+a[j]>a[k]&&a[k]-a[i]<a[j]&&cos_angle>0&&cos_angle<1)
{
cnt++;
}
}
}
}
printf("%d\n",cnt);
}
return 0;
}
1088
cpp
#include<stdio.h>
#define N 10007
int main()
{
int n;
while(~scanf("%d",&n))
{
if(n==-1) break;
int ans=1;
for(int i=1;i<=n;i++)
{
ans*=i;
ans%=N;
}
printf("%d\n",ans);
}
return 0;
}
无他,惟手熟尔
1075
cpp
#include<stdio.h>
int gcd(int a,int b)
{
return b>0?gcd(b,a%b):a;
}
int ans(int a,int b)
{
int res=a*b/gcd(a,b);
return res;
}
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b))
{
if(a==0&&b==0) break;
printf("%d\n",ans(a,b));
}
return 0;
}
1138
cpp
#include<stdio.h>
int gcd(int a,int b)
{
return b>0?gcd(b,a%b):a;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,b;
scanf("%d%d",&a,&b);
if(a==b) puts("0");
else if(b<2) puts("1");
else
{
int up=a*(a-1)-b*(b-1),down=a*(a-1);
int temp=gcd(up,down);
up/=temp,down/=temp;
if(down==1) printf("%d\n",up);
else printf("%d/%d\n",up,down);
}
}
return 0;
}
哈哈哈确实自己可以独立ac了