标签:输出 ++ name using math.h space 自然数 end ace
定义:正读反读一样的数,从左向右读与从右向左读是完全一样的自然数。例如:91,11,202,1001等,1011就不是。
1 #include <iostream> 2 #include<stdio.h> 3 #include<math.h> 4 5 using namespace std; 6 int huiwen(int num) 7 { 8 int o = num; //o存储正序 9 int tmp = 0; 10 while(num != 0) //tmp存储逆序 11 { 12 tmp *= 10; 13 tmp += num % 10; 14 num /= 10; 15 } 16 if (tmp == o) //回文数正序逆序是否相当来判断 17 //if(tmp%10 == o%10) //取正序逆序的个位数判断 18 { 19 return 1; 20 } 21 return 0; 22 } 23 24 int main() 25 { 26 int l,r; 27 scanf("%d %d",&l,&r); 28 int count=0; 29 for(int i=l;i<=r;i++) 30 { 31 if(huiwen(i)==1) count++; 32 } 33 cout<<count<<endl; 34 return 0; 35 }
拓展:定义一个特殊的回文数,只要求首部与尾部相等即可。例:8,11,202,1001,1011等
1 #include <iostream> 2 #include<stdio.h> 3 #include<math.h> 4 5 using namespace std; 6 int huiwen(int num) 7 { 8 int o = num; //o存储正序 9 int tmp = 0; 10 while(num != 0) //tmp存储逆序 11 { 12 tmp *= 10; 13 tmp += num % 10; 14 num /= 10; 15 } 16 //if (tmp == o) //回文数正序逆序是否相当来判断 17 if(tmp%10 == o%10) //取正序逆序的个位数判断 18 { 19 return 1; 20 } 21 return 0; 22 } 23 24 int main() 25 { 26 int l,r; 27 scanf("%d %d",&l,&r); 28 int count=0; 29 for(int i=l;i<=r;i++) 30 { 31 if(huiwen(i)==1) count++; 32 } 33 cout<<count<<endl; 34 return 0; 35 }
标签:输出 ++ name using math.h space 自然数 end ace
原文地址:https://www.cnblogs.com/lijuanhu321/p/9775187.html