判断回文,位与,位或

//判断字符串是否是回文?

int fun(char *sre)

{

char *s1,*s2;

s1 = str;

s2=str+strlen(str)-1;

if(strlen(str)%2 != 0)

{

return 0;

}

while(s1<=2)

{

if(*s1==*s2)

{

s1++;

s2--;

}

else

return 0;

}

return 1;

}

//讲一个字符串转化为十进制数(“123456” to 123456,字符串中只有数字,没有

//没有其他字母,长度不确定)

int str_to_num(char *str)

{

char *temp = str;

int num = 0;

while(*temp != ‘\0‘)

{

num = num * 10 + (*temp - ‘\0‘);

temp++;

}

return temp;

}

//实现按位与

//int bis(int d, int m);m的二进制位上为1,则把d相应的位 置1

int bis(int d,int m)

{

char temp_1[32],temp_2[32];

int i=0,j=0;

memset(temp_1,‘\0‘,sizeof(temp_1));

while(d != 0)

{

temp_1[i++] = d%2;

d=d/2;

}

memset(temp_2,‘\0‘,sizeof(temp_2));

i=0;

while(m!=0)

{

temp_2[i++]=m%2;

m=m/2;

}

for(i=0;i<32;i++)

{

if(temp_2[i] == 1)

temp_1[i]=1;

}

d = 0;

for(i=0;i<32;i++)

d+=temp_1[i]*pow(2,i);

return d;

}

int bis(int d,int m)

{

char temp_1[32],temp_2[32];

int i=0;j=0;

memset(temp_1,‘\0‘,sizeof(temp_1));

while(d != 0)

{

temp_1[i++] = d%2;

d = d/2;

}

memset(temp_2,‘\0‘,sizeof(temp_2));

while(m != 0)

{

temp_2[i++] = m %2;

m = m/2;

}

for(i=0;i<32;i++)

{

if(temp_2[i]==1)

{

temp_1[i]=0;

}

}

d=0;

for(i=0;i<32;i++)

{

d += temp_1[i]*pow(2,i);

}

return d;

}

时间: 2024-10-11 06:06:03

判断回文,位与,位或的相关文章

C语言判断回文数

1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 输出不是 6 7 int resource, result, re_tmp; //resource存放用户输入的数值 result存放翻转后的数值 re_tmp 存放用户输入的数值 在翻转的时候会用到 8 result = 0; //对result的初始化 9 printf("

HDOJ/HDU 2163 Palindromes(判断回文串~)

Problem Description Write a program to determine whether a word is a palindrome. A palindrome is a sequence of characters that is identical to the string when the characters are placed in reverse order. For example, the following strings are palindro

golang 递归判断回文字符串

判断回文字符串是个比较经典的问题. 思路就是拿第一个字符和最一个字符比较,如果不等退出,相同的话继续刚刚的过程,直到第一个字符和最后一个字符相遇或者他们的距离为1时.说明他们是回文字符串. 下面的代码会忽略空白字符 如"1   1  2 1"会让为是回文字符串. golang package main import (     "fmt"     "os"     "strings"     "unicode/utf

leetcode题解:Valid Palindrome(判断回文)

题目: Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example,"A man, a plan, a canal: Panama" is a palindrome."race a car" is not a palindrome. Note:Have you consider tha

Python基础判断回文数

#判断回文数 a=raw_input('your enter:\n')b=[]l=len(a)for i in range(0,l):    m=a[l-i-1]    b.append(m) for j in range(l):   mark=True   if a[j]!=b[j]:       print 'no'       mark=False       breakif mark==True:    print 'yes'

【0031】反转整数/判断回文

Reverse Integer 反转一个整数 C++ Code 1234567891011121314151617181920212223242526272829303132   class Solution{public:    int reverse(int x)    {        /*一位数的情况*/        if(-10 < x && x < 10)        {            return x;        } /*记录负数情况,负数转换成正

ACM之判断回文数

题目如下 这道题比较简单,先上Python代码感受一下,就一行搞定: #判断回文数 def isPalindrom(x):     return  str(x) == str(x)[::-1] 这种方法虽然简单,但是耗时比较长.再用Java解决一下看看 方法一 显然负数不可能是回文数,区间[0,9]的整数肯定是回文数,所以把这些确定的条件先进行判断 将整数的每一位放在链表中,然后将链表逆序,比较逆序链表与顺序链表元素是否一样,一样则是回文数,否则不是 代码如下: public class Pal

判断回文Plalindrome

/** * Description:判断回文 * * @author 李**2019年10月28日 */ public class JudgePlalind { public static boolean isPalind(String s) { if(s == null||s.length() == 0) return true; //正则表达式非数字和字符全替换为空 s=s.replaceAll("[^0-9A-Za-z]", ""); s=s.toLowerC

判断回文链表

我们之前有两篇文章写了回文串和回文序列相关的问题. 寻找回文串的核心思想是从中心向两端扩展: string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() && s[l] == s[r]) { // 向两边展开 l--; r++; } // 返回以 s[l] 和 s[r] 为中心的最长回文串 return s.substr(l + 1, r - l

用c#判断回文数和降序数

题目:编一个程序,输入一个正整数,判定它是否为回文数和降序数.当输入的数为0时,则退出程序,否则继续循环执行程序. 所谓“降序数”是指一个自然数的低位数字不大于高位数字的数.例如: 64, 55, 321都认为是降序数,但是623不是降序数.一位数字被认为是降序数. 所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的.例如: 646,1551,891232198都认为是回文数. 具体实现代码如下: 1 string str; 2 bool a = true, b = true;/