标题:求教!!!如何运用循环求100以内同构数?
只看楼主
Bryce
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-11-4
 问题点数:0 回复次数:4 
求教!!!如何运用循环求100以内同构数?
碰到一个这样的题,怎么也想不通,网上搜索了一下,但其算法的原理我是不懂,求大神赐教!
搜索更多相关主题的帖子: 循环 网上 搜索 算法 原理 
2018-11-04 19:42
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:395
专家分:2640
注 册:2018-3-30
得分:0 
最简单的就是遍历,挨个数去判断,100个貌似也不是很多。

saber,别哭.
2018-11-04 21:00
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
for(int i=1;i<10;i++)      100以为的同构数,先说边界吧! 10的平方是100,正好可以取10为边界
  if(i==(i*i%10))          i*i是i的平方,%10求各位数,i等于i的平方都个位数,正好构成同构数,输出i就好了
    printf("%d",i);

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-04 21:32
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:0 
楼上缺一个,如果要输出一对同构数,值用改一下printf语句就好了

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-04 21:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
#include <stdio.h>
main()
{
    int i, j, k, n;
    for (i=1; i<101; ++i)
    {
        k = i;
        n = i*i;
        for (j=10; k && n%j==i%j; k/=10,j*=10);
        if (!k)
            printf("%d的平方数是%d, %d是同构数数\n", i,i*i,i);
    }
}

2018-11-05 09:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490988-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.777758 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved