首页
题库
面试
求职
学习
竞赛
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
对称平方数1
[编程题]对称平方数1
热度指数:33258
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为2*2=4,11*11=121。
输入描述:
无任何输入数据
输出描述:
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
示例1
输入
无
输出
无
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(112)
分享
提交结果有问题?
81个回答
71篇题解
添加回答
1
Java
LHC0512
Java 解法 public class Main {
public static void main(String[] args) {
for (int i = 0; i<= 256; i++) {
String s = String.valueOf(i * i);
int j=0;
int k= s.length()-1;
while (j<=k){
if (s.charAt(j)==s.charAt(k)){
j++;
k--;
}else break;
}
if (j>k) System.out.println(i);
}
}
}
发表于 2020-03-17 11:07:33
回复(0)
11
战王不在这
万一是负数呢...<256的数应该包含所有的负数吧...
发表于 2021-02-17 21:51:24
回复(0)
4
C/C++
YhX.
#include
int fanxu(int n)
{
int sum=0;
while(n)
{
sum=sum*10+n%10;
n=n/10;
}
return sum;
}
int main()
{
for(int i=0;i<=256;i++)
if(i*i==fanxu(i*i))
printf("%d\n",i);
}
发表于 2020-03-23 20:18:03
回复(0)
4
C/C++
Senjie
#include
#include
#include
using namespace std;
int main()
{
string s1,s2;
stringstream s;
for(int i=0;i<257;i++)
{
s<
s1=s.str();
s2=s1;
reverse(s1.begin(),s1.end());
if(s1==s2) cout<
s.str("");
}
}
发表于 2019-07-15 10:02:19
回复(0)
3
握着我的抱枕
跟反序数那道题解法差不多 注意0也是对称平方数 #include
#include
using namespace std;
int reverse(int n) {
int res = 0;
while(n!=0){
res = n % 10 + res * 10;
n /= 10;
}
return res;
}
int main() {
for (int i = 0; i <= 256; i++) {
if (i*i == reverse(i*i))
cout << i << endl;
}
}
发表于 2020-02-15 19:30:23
回复(0)
3
C/C++
小陈也只是想要一个实习罢了
测试样例里面包括0,所以要将0也算入范围内 #include
using namespace std;
int main(){
for(int i=0;i<=256;i++){
int total=0,temp=i*i;
while(temp>0){
total=total*10+temp%10;
temp/=10;
}
if(total==i*i)
cout<
}
}
发表于 2019-03-01 10:56:06
回复(0)
1
C
牛客404837646号
#include
int isDuichengnum(int m) {
int remain;
int reverse = 0;
while (m) {
remain = m % 10;
m = m / 10;
reverse = reverse * 10 + remain;
}
return reverse;
}
int main() {
for (int i = 0; i <= 256; ++i) {
if (i * i == isDuichengnum(i * i)) {
printf("%d\n", i);
}
}
return 0;
}
发表于 2024-04-09 19:27:31
回复(0)
1
C/C++
_ada__
#include
int reverse(int n) {
int reverse = 0;
while(n) {
int remain = n%10;
n = n/10;
reverse = reverse*10 + remain;
}
return reverse;
}
int main() {
int a, b;
for(int i = 0; i <= 256; i++) {
int x = i * i;
if(x == reverse(x)) printf("%d\n", i);
}
return 0;
编辑于 2024-02-05 22:28:46
回复(0)
1
C++
别样的人儿
#include
using namespace std;
// 求逆序数
int Reverse(int n){
int u=0;
while (n>0) {
u *= 10;
u += n%10;
n/=10;
}
return u;
}
int main() {
for(int i=0; i<=256; i++){
if (i*i==Reverse(i*i)) {
cout<
}
}
}
发表于 2023-03-15 21:58:07
回复(0)
1
C++
牛客367028768号
#include 发表于 2022-04-03 21:37:00 回复(0) 1 我不是匠人 利用对称的性质,反向后的数应该和没反向的数相等 #include using namespace std; int main(){ for(int i=0;i<=256;i++){ int t = i*i; int sum=0; do{ sum = sum*10 + t%10; t /= 10; }while(t!=0); if(sum == i*i) cout<
} return 0; } 发表于 2019-07-30 14:10:32 回复(0) 1 tukifish #include 发表于 2019-03-01 23:04:56 回复(0) 0 牛客937111375号 又不把题说清楚,都得错一次才行 发表于 2025-02-21 01:47:17 回复(0) 0 C++ 牛客390280000号 #include 编辑于 2024-04-05 23:41:27 回复(0) 0 GATSBYNOGA #include using namespace std; bool sym(int n){ int res = 0,temp = n; while( n != 0){ res = res*10 + n%10; n /= 10; } return temp == res; } int main() { for(int i=0; i<=256; ++i){ if(sym(i*i)) cout << i << endl; } return 0; } 编辑于 2024-03-17 10:10:32 回复(0) 0 牛客291564951号 #include using namespace std; int main() { for(int i=0;i<=256;i++){ int pf=i*i; if(pf<10){ printf("%d\n",i); } else if(pf<100){ //两位数 if(pf/10==pf%10){ printf("%d\n",i); } } else if(pf<1000){ //三位数 if(pf/100==pf%10){ printf("%d\n",i); } } else if(pf<10000){ //四位数 if((pf/1000==pf%10)&&(pf/100%10==pf/10%10)){ printf("%d\n",i); } } else{ //五位数 if((pf/10000==pf%10)&&(pf/1000%10==pf/10%10)){ printf("%d\n",i); } } } return 0; } 编辑于 2024-02-28 16:49:15 回复(0) 0 C++ 无问西东gmy #include using namespace std; int reverse(int n) { //求反序数 int rev = 0; while (n) { rev = rev * 10 + n % 10; n /= 10; } return rev; } int main() { for (int i = 0; i <= 256; i++) { if (i * i == reverse(i * i)) { cout << i << endl; } } return 0; } 编辑于 2024-02-02 10:14:52 回复(0) 0 安静的王心凌男孩在努力 #include 编辑于 2024-01-13 21:25:59 回复(0) 0 牛客656341560号 #include int main() { int x; for (int i = 0; i <= 256 ; ++i) { x = i*i; if(x<10) printf("%d\n",i); //1位数 else if(x>=10&&x<100) { //2位数 if(x/10==x%10){ printf("%d\n",i); } } else if(x>=100&&x<1000){ //3位数 if(x/100==x%10){ printf("%d\n",i); } } else if(x>=1000&&x<10000){//4位树 if(x/1000==x%10&&((x/100)%10)==((x%100)/10)){ printf("%d\n",i); } } else {//5位数 if (x / 10000 == x % 10 && ((x / 1000) % 10) == (x % 100) / 10) { printf("%d\n", i); } } } return 0; } 编辑于 2024-01-13 17:34:31 回复(0) 0 C++ Edward王 #include int Reverse(int n){ int remain,reverse=0; while(n>0){ remain = n%10; n /= 10; reverse = reverse*10+remain; } return reverse; } int main(){ for(int i=0; i<=256; ++i){ if(Reverse(i*i) == i*i){ printf("%d\n",i); } } return 0; } 编辑于 2024-01-11 15:33:59 回复(0) 这道题你会答吗?花几分钟告诉大家答案吧! 提交观点 问题信息 穷举 基础数学 上传者:小小 难度: 81条回答 112收藏 8896浏览 热门推荐 通过挑战的用户 查看代码 SSUNS 2023-03-14 16:51:06 在冲浪的奶酪很... 2023-03-12 15:49:09 牛客64943... 2023-03-12 14:17:02 猫吃面shaw 2023-03-12 12:45:55 摆烂了的大魔王... 2023-03-09 14:32:05 相关试题 车站建造问题 基础数学 评论(40) 多少个点位于同一直线 穷举 Java工程师 C++工程师 iOS工程师 安卓工程师 运维工程师 前端工程师 算法工程师 PHP工程师 测试工程师 golang工程师 评论(317) 来自牛客考试系统测试卷 牛牛的超市 动态规划 基础数学 评论(5) 商店里的汽水卖2.5元/瓶,4个瓶... 判断推理 评论(1) 在大规模分布式训练大型语言模型时,... 大模型开发 评论(1) 对称平方数1 扫描二维码,关注牛客网 意见反馈 下载牛客APP,随时随地刷题 刷真题、补算法、看面经、得内推 使用第三方账号直接登录使用吧: 更多 扫一扫,把题目装进口袋 求职之前,先上牛客 扫描二维码,进入QQ群 扫描二维码,关注牛客公众号 关于我们 加入我们 意见反馈 企业服务 校企合作 联系我们 免责声明 友情链接 公司地址:北京市朝阳区北苑路北美国际商务中心K1座一层-北京牛客科技有限公司 联系方式:010-60728802 投诉举报电话:010-57596212(朝阳人力社保局) 牛客科技© All rights reserved admin@nowcoder.com 京ICP备14055008号-4 增值电信业务经营许可证 营业执照 人力资源服务许可证 京公网安备 11010502036488号