对称平方数1

·
2025-07-26 22:45:34

首页

题库

面试

求职

学习

竞赛

搜索面经/职位/试题/公司

搜索

我要招人

去企业版

登录 / 注册

首页

>

试题广场

>

对称平方数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; using namespace std; #include #include int main(){ for(int i=0;i<256;i++) { string str = to_string(i*i); string temp = str; reverse(str.begin(),str.end()); if(temp.compare(str)==0){ cout<

发表于 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 using namespace std; int main(){ for(int i=0;i<256;i++){ int temp=i*i; int a[5]; //n的平方不超过5位数 int k=0; int len=0; //计算位数 bool flag=true; //是否为对称数 while(temp!=0){ a[k++]=temp%10; temp/=10; len++; } for(k=0;k

发表于 2019-03-01 23:04:56

回复(0)

0

牛客937111375号

又不把题说清楚,都得错一次才行

发表于 2025-02-21 01:47:17

回复(0)

0

C++

牛客390280000号

#include using namespace std; int Reverse(int n){ int result=0; for(int i=0;n>0;i++){ result*=10; result+=n%10; n/=10; } return result; } int main() { for(int i=0;i<=256;i++){ if(i*i==Reverse(i*i)){ cout<

编辑于 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 using namespace std; int Reverse(int x){ int p=0; while(x!=0){ p*=10; p+=x%10; x/=10; } return p; } int main() { for (int i=0;i<=256;i++){ if (i*i==Reverse(i*i)){ printf("%d\n",i); } } }

编辑于 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号