题目1183:守形数

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:4791

解决:2483

题目描述:

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

输入:

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

输出:

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

样例输入:
25
4
样例输出:
Yes!
No!
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int m=n*n;
        bool flag =false;
        for(int i=1; i<=4; i++)
        {
            double k=pow(10,i);
            if(m%(int)k==n)
            {
                flag=true;
                break;
            }
        }
        if(flag)
        {
            cout<<"Yes!"<<endl;
        }
        else
            cout<<"No!"<<endl;
    }
    return 0;
}

时间: 2024-10-04 18:05:59

题目1183:守形数的相关文章

1183 守形数

/* 若正整数n是它的平方数的尾部,则称n为守形数,又称同构数. 例如:6是其平方数36的尾部,76是其平方数5776的尾部,6和76都是守形数. 这些也是: 6^=36 25^2=625 76^2=5776 376^=141376 625^=390625 编程技巧: 1.传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数 2.直接用log函数,位数count=(int)log10(num)+1 3.用sprintf和strlen函数,s

华科机考: 守形数

时间限制:1秒  空间限制:32768K 题目描述 守形数是这样一种整数,它的平方的低位部分等于它本身. 比如25的平方是625,低位部分是25,因此25是一个守形数. 编一个程序,判断N是否为守形数. 输入描述: 输入包括1个整数N,2<=N<100. 输出描述: 可能有多组测试数据,对于每组数据, 输出"Yes!"表示N是守形数. 输出"No!"表示N不是守形数. 输入例子: 25 4 输出例子: Yes! No! 思路:平方后对低位取余,再判断书否

守形数

题目描述: 守形数是这样一种整数,它的平方的低位部分等于它本身. 比如25的平方是625,低位部分是25,因此25是一个守形数. 编一个程序,判断N是否为守形数. 输入: 输入包括1个整数N,2<=N<100. 输出: 可能有多组测试数据,对于每组数据, 输出"Yes!"表示N是守形数. 输出"No!"表示N不是守形数. 样例输入: 25 4 样例输出: Yes! No! #include<iostream>#include<stdio

九度oj 题目1050:完数

题目1050:完数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8778 解决:3612 题目描述: 求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数.即完数是等于其所有因子相加和的数. 输入: 测试数据有多组,输入n,n数据范围不大. 输出: 对于每组输入,请输出1-n内所有的完数.如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格. 样例输入: 6 样例输出: 6 1 #include <io

九度oj 题目1060:完数VS盈数

题目1060:完数VS盈数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6461 解决:2426 题目描述: 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1.则称其为“完数”:若因子之和大于该数,则称其为“盈数”.求出2到60之间所有“完数”和“盈数”. 输入: 题目没有任何输入. 输出: 输出2到60之间所有“完数”和“盈数”,并以如下形式输出:E: e1 e2 e3 ......(ei为完数)G: g1 g2 g3 ......(gi为盈数)其中两个数之间

九度OJ—题目1050:完数

题目描述: 求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数.即完数是等于其所有因子相加和的数. 输入: 测试数据有多组,输入n,n数据范围不大. 输出: 对于每组输入,请输出1-n内所有的完数.如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格. 样例输入: 6 样例输出: 6 来源: 2010年哈尔滨工业大学计算机研究生机试真题 答疑: 解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobd

九度-题目1214:丑数

http://ac.jobdu.com/problem.php?pid=1214 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7.习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 输入: 输入包括一个整数N(1<=N<=1500). 输出: 可能有多组测试数据,对于每组数据,输出第N个丑数. 样例输入: 3 样例输出: 3 一开始的想法是递增遍历足够多的数字,得到长度为1500的数组.数组中每个元素对应

题目1060:完数VS盈数------这题做得我想骂人

完数和盈数的思路也简单 这是我AC的代码: #include<iostream> using namespace std; int main() { int i=0,h=0,k=0; int a[60],b[60]; for (i=2;i<61;i++) 将i<=60就错了,太他妈他妈了**************************** { int j,sum=0; for (j=1;j<i;j++) if (i%j==0) sum+=j; if (sum==i) a[

【编程小题目6】字符数统计

题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. #include <iostream>#include <string>using namespace std; int main(){ const int size = 100; char ch[size]; int CharNum = 0, DigNum = 0, NullNum = 0, OtherNum = 0;  for(int i = 0; i < size; i++) { ch[i] =