求回文串的个数与求最大公约数

版权声明:转载请注明出处 https://blog.csdn.net/qq_41431457/article/details/88355807

回文串的个数:

#include<stdio.h>  
#include<string.h>  
char s[5007];  
int ipss(char s[]) 
{
	int  len=strlen(s)-1,ans=0,l,r;  
    for(int i=0;i<=len;i++,ans++)                          //从中间往两边遍历 
    {  
        for(l=i-1,r=i+1;   l>=0&&r<=len&&s[l]==s[r];    l--,r++,ans++)  ; 
            
        for(l=i,  r=i+1;   l>=0&&r<=len&&s[l]==s[r];    l--,r++,ans++)  ; 
    }  
    return ans;
}
int main()  
{  
    while(scanf("%s",s)!=EOF)  
        printf("%d\n",ipss(s));  
    return 0;  
}  

最大公约数与最小公倍数

#include<iostream>
#include<algorithm>
using namespace std;
int gcd(int a,int b)
{
	return b?gcd(b,a%b):a;
}
int fuck(int a,int b)
{
	return a/gcd(a,b)*b;
}
int main()
{
	int a,b;
	cin>>a>>b;
	cout<< fuck(a,b);
}

猜你喜欢

转载自blog.csdn.net/qq_41431457/article/details/88355807