oj 1255

#include#includeint main(){int t;scanf("%d",&t);while(t--){int a,b;scanf("%d%d",&a,&b);a=a*a;b=b*b;bool flag=false;for(int i=1;i<=15000;i++){if(i*i==a+b||a==i*i+b||b==i*i+a){printf("%d\n",i);flag=true;break;}}if(!flag)puts("None");}return 0;}

1075

#includeint 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;}

1088

很奇怪,WA了一次,代码如下

#include#define N 10007int main(){int n;while(~scanf("%d",&n)){if(n==-1)break;int ans=n;for(int i=n-1;i>=1;i--){ans*=i;ans%=N;}printf("%d\n",ans);}return 0;}

改成这样就可以了,但是我没懂其中的逻辑关系,看了一下也没有超过int 的数据范围,是一边计算一边取模的

#include#define N 10007int 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;}

所以尽可能从小的开始算么,但是感觉是一样的,不懂

1078

#includeint main(){char s[2];int cnt=0;while(~scanf("%s",s)){if(s[0]=='#')break;printf("case %d:\n",++cnt);int num=s[0]-'A';int temp=num;for(int j=0;j<=num;j++){for(int k=0;k<j;k++)printf(" ");for(int i=0;i<=temp;i++){printf("%c",i+'A');}for(int i=temp-1;i>=0;i--){printf("%c",i+'A');}printf("\n");temp-=1;//printf("%d\n",temp);}}return 0;}

非常激动,因为之前确实做不出来,但是今天,虽然还是本能的害怕,但是确实写出来了哈哈

1137

#includeint main(){int t;scanf("%d",&t);while(t--){char s[2];scanf("%s",s);int num=s[0]-'A';for(int i=0;i<=num;i++){for(int j=0;j<=num;j++)printf(" ");printf("%c\n",i+'A');for(int j=0;j<num-i;j++)printf(" ");for(int j=0;j<2*i+3;j++)printf("%c",i+'A');printf("\n");}}return 0;}

激动啊,以前这题也写不出来的