当前位置: 代码迷 >> 综合 >> 问题 A: 守形数
  详细解决方案

问题 A: 守形数

热度:63   发布时间:2023-09-22 10:22:34.0

题目描述

守形数是这样一种整数,它的平方的低位部分等于它本身。
比如25的平方是625,低位部分是25,因此25是一个守形数。
编一个程序,判断N是否为守形数。

输入

输入包括1个整数N,2<=N<100。

输出

可能有多组测试数据,对于每组数据,
输出"Yes!”表示N是守形数。
输出"No!”表示N不是守形数。

样例输入

6
11

样例输出

Yes!
No!

 

#include<stdio.h>
#include<string>
#include<sstream>
#include<iostream>
using namespace std;
int main()
{int n;int m;string s1,s2;while(scanf("%d",&n)!=EOF){	stringstream ss,ss1;m=n*n;ss<<n;ss>>s1;ss1<<m;ss1>>s2;/*cout<<"s1="<<s1<<" s2="<<s2<<endl;cout<<string::npos-s1.length()<<endl;cout<<s2.find(s1)+s1.length()<<endl;cout<<s2.length()<<endl;*/if(s2.find(s1)!=string::npos){if(s2.find(s1)+s1.length()==s2.length()){printf("Yes!\n");}else{printf("No!\n");}}else{printf("No!\n");}}return 0;
}

 

  相关解决方案