排列字母
#include <stdio.h>
#include <stdlib.h>
int main()
{
int b[30]={0};
char aa[30];
scanf("%s",&aa);
for(int i=0;i<strlen(aa);i++){
b[aa[i]-'A']++;
}
for(int i=0;i<26;i++){
for(int j=0;j<b[i];j++){
printf("%c",'A'+i);
}
}
// 请在此输入您的代码
return 0;
}
排列字母
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a,b;
scanf("%d %d",&a,&b);
int k;
//根据更相减损法可以知道当a小于b的时候gcd(a,b)=gcd(a,b-a),所以gcd(a+k,b+k)=gcd(a+k,b-a);
if(a>b){
for(k=1;;k++){
if((a+k)%(b-a)==0){
printf("%d",k);
break;
}
}
}
else {
for(k=1;;k++){
if((b+k)%(a-b)==0){
printf("%d",k);
break;
}
}
}
// 请在此输入您的代码
return 0;
}
GCD
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
//根据更相减损法可以知道当a小于b的时候gcd(a,b)=gcd(a,b-a),所以gcd(a+k,b+k)=gcd(a+k,b-a);
//设c=b-a;要求k的最小值为多少时a+k是c的倍数,那么只需要让k满足k=c-(a+k)%c;
// 请在此输入您的代码
long a,b,c;
long k;
scanf("%ld %ld",&a,&b);
if(b>a){
c=b-a;
k=c-(a+k)%c;
}
else {
c=a-b;
k=c-(b+k)%c;
}
printf("%ld",k);
return 0;
}
第三题晚上回来研究