1,小乐乐和欧几里得
辗转相除法求两整数最大公约数和最小公倍数
#include <stdio.h>
int main()
{
long long n = 0;
long long m = 0;
long long div = 0;
long long mul = 0;
scanf("%lld %lld", &n, &m);
long long a = n;
long long b = m;
long long temp = 0;
while (temp = a % b)
{
a = b;
b = temp;
}
div = b;
mul = m * n / div;
printf("%lld\n", div + mul);
return 0;
}
2,小乐乐和序列
在序列输入的同时去重和排序(特殊情况下)
#include <stdio.h>
int main()
{
int n = 0;
int arr[100001] = { 0 };
scanf("%d", &n);
int i = 0;
int num = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &num);
arr[num] = num;
}
for (i = 0; i < n; i++)
{
if (arr[i] != 0)
{
printf("%d ", arr[i]);
}
}
printf("\n");
return 0;
}
3,小乐乐和字符串
关键的词:c,ch,chn
#include <stdio.h>
int main()
{
char arr[8000] = { 0 };
scanf("%s", arr);
char* p = arr;
long long c = 0;
long long ch = 0;
long long chn = 0;
while (*p)
{
if (*p == 'C')
{
c++;
}
if (*p == 'H')
{
ch += c;
}
if (*p == 'N')
{
chn += ch;
}
p++;
}
printf("%lld\n", chn);
return 0;
}