打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【C语言训练】求具有abcd=(ab+cd)2性质的四位数 (C语言代码)

  作者: Galaxy     发表时间:2021-02-26 01:02:17 

解题思路:

对于每个要验证的四位数abcd,我们只需要截出前两个数字ab与后两个数字cd来分别获得两个整数m,n,再将m与n相加,平方,对比原来的数字即可。

注意事项:利用sscanf和sprintf,借助字符串来截获数字。算法相对与模10除10来获得各位数字的算法更加简单。

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
int main()
{
    int n = 0,m = 0,i = 0;//n m分别存放要截取的两个数字,i是要验证的四位数
    char s[5] = {0};//创建一个字符串用于存放四位数
    for (i = 1000;i < 10000;i++)
    {
        sprintf(s, "%d", i);//把四位数i写入字符串s中
        sscanf(s, "%2d", &n);//从字符串s拿出前两位数作为n
        sscanf(s + 2, "%2d", &m);//从字符串s拿出后两位数作为m
        if (i == (m + n)*(m + n))//比较 m,n和平方是否等于原数字
            printf("%d ", i);//相等则输出原数字
    }
    return 0;
}


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
速算公式-让你算得轻巧自如
小学综合试题 (48)
字符串匹配的KMP算法
082.具有abcd=(ab+cd)2性质的数
奥数题目3
2001小学数学奥林匹克试题和解答
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服