上海柘中建设股份有限公司网站,网站定制牛七科技,怎么开个网店卖东西,建设厅证件查询系统文章目录 特殊的回文数回文数水仙花数十六进制转八进制_n次 特殊的回文数 问题描述 123321是一个非常特殊的数#xff0c;它从左边读和从右边读是一样的。 输入一个正整数n#xff0c; 编程求所有这样的五位和六位十进制数#xff0c;满足各位数字之和等于n 。 解题… 文章目录 特殊的回文数回文数水仙花数十六进制转八进制_n次 特殊的回文数 问题描述 123321是一个非常特殊的数它从左边读和从右边读是一样的。 输入一个正整数n 编程求所有这样的五位和六位十进制数满足各位数字之和等于n 。 解题思路 1.将数字转化为字符串判断这个字符串是否为回文串 2.将数字进行逆转然后判断与原数字是否相等 3.将数字的一半进行逆转没然后判断是否与原串是否相同。 #includeiostream
#includestring
#includealgorithm
using namespace std;int palindromicNumber(int pn)
{string tmp to_string(pn);string reverse_tmp(tmp);reverse(reverse_tmp.begin(), reverse_tmp.end());if (tmp reverse_tmp){return 1;}else{return 0;}
}int main()
{int n 0;cin n;for (int i 10000; i 999999; i){if (palindromicNumber(i)){int tmp i;int sum 0;while (tmp){sum sum tmp % 10;tmp / 10;}if (sum n){cout i endl;}}}return 0;
}回文数 问题描述 1221是一个非常特殊的数它从左边读和从右边读是一样的编程求所有这样的四位十进制数。 #includeiostream
#includestring
#includealgorithm
using namespace std;//将数字转为字符串之后将字符串进行逆转然后判断两个字符串是否相同 int palindromicNumber(int pn)
{string tmp;while(pn){tmp.insert(0,1,(pn%10) 0);pn/10;}string reverse_tmp(tmp);reverse(reverse_tmp.begin(),reverse_tmp.end());if(reverse_tmp tmp){return 1;}else{return 0;}
}int main()
{int i;for(i 1000;i 9999;i){if(palindromicNumber(i)){cout i endl;}}return 0;
}
水仙花数 问题描述 153是一个非常特殊的数它等于它的每位数字的立方和即153111555333。编程求所有满足这种条件的三位十进制数。 #includeiostream
#includestring
#includealgorithm
#includemath.h
using namespace std;int sameSum(int n)
{int sum 0;int tmp n;while(n){sum sum pow(n%10,3);n/10;}if(tmp sum){return 1;}else{return 0;}
}int main()
{int i;for(i100;i999;i){if(sameSum(i)){cout i endl;}}return 0;
}十六进制转八进制_n次 问题描述 给定n个十六进制正整数输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n 1n10。 接下来n行每行一个由09、大写字母AF组成的字符串表示要转换的十六进制正整数每个十六进制数长度不超过100000。 输出格式 输出n行每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0比如012A。 输出的八进制数也不能有前导0。 #includeiostream
#includestring
#includemath.h
using namespace std;//十六进制转十进制
int hexToDec(string hex)
{int dec 0;int pows 0;for (int i hex.length() - 1; i 0; i--){char c hex[i];if (c 0 c 9){dec (c - 0) * pow(16, pows) dec;}else{dec (c - A 10) * pow(16, pows) dec;}pows;}return dec;
}//十进制转八进制
int decToOct(int dec)
{int oct 0;int i 1;while (dec){oct oct dec % 8 * i;dec dec / 8;i * 10;}return oct;
}int main()
{int count 0;cin count;string hex[10];for (int i 0; i count; i){cin hex[i];}for (int i 0; i count; i){int tmp hexToDec(hex[i]);cout decToOct(tmp) endl;}return 0;
}