一、实例描述
假设 abcd 是一个四位整数,将它分成两段,即 ab 和 cd,使之相加求和后再平方。求满足该关系的所有四位整数,运行结果如下图所示:
二、技术要点
本实例采用穷举的方法对 1000 到 10000 以内的所有四位整数逐个分解成两部分再对其进行判断,看是否满足要求,如果满足则将该整数输出,否则进行下次循环。将一个四位数分解成两部分主要采用 /
和 %
的方法,/
求的该四位数的前两位,%
求的是该四位数的后两位。
三、代码实现
3.1 C 语言实现
/*================================================================
* Copyright (C) 2023 AmoXiang All rights reserved.
*
* 文件名称:04-满足abcd=(ab+cd)^2的数.c
* 创 建 者:AmoXiang
* 创建日期:2023年10月01日 19:43:25
* 描 述:
*
================================================================*/
#include <stdio.h>
int main(){
int a=0,b=0;
int i=1;
for(i=1000;i<10000;i++){
a = i / 100;
b = i % 100;
int num = (a + b) * (a + b);
if(num == i){
printf("%d\n", i);
}
}
}
程序运行结果如下图所示:
3.2 Python 语言实现
# -*- coding: utf-8 -*-
# @Time : 2023/10/1 19:22
# @Author : AmoXiang
# @File : 04-满足abcd=(ab+cd)^2的数.py
# @Software: PyCharm
# @Blog : https://blog.csdn.net/xw1680
"""
假设abcd是一个四位整数,将它分成两段,即ab和cd,使之相加求和后再平方。求满足该关系的所有四位整数
"""
for i in range(1000, 10000):
# 前两位数用a表示
a = i // 100 # 整除求出前2位数
b = i % 100 # 取余求出后2位数
if (a + b) ** 2 == i:
print(i)
程序运行结果如下图所示:
3.3 Java 语言实现
/**
* ClassName: Exercise4
* Package: PACKAGE_NAME
* Description:
*
* @Author AmoXiang
* @Create 2023/10/1 19:38
* @Version 1.0
*/
public class Exercise4 {
public static void main(String[] args) {
int a = 0, b = 0;
for (int i = 1000; i < 10000; i++) {
a = i / 100; // 根据题目的要求 没必要分别求出整数各个位上的数字
b = i % 100;
if ((a + b) * (a + b) == i) {
System.out.println(i);
}
}
}
}
程序运行结果如下图所示:
3.4 JavaScript 语言实现
let a = 0, b = 0;
for (let i = 1000; i < 10000; i++) {
a = parseInt(i / 100);
b = i % 100;
// let num = (a + b) * (a + b); 写法非常多
let num = Math.pow((a + b), 2);
if (num === i) {
console.log(i)
}
}
程序运行结果如下图所示:
3.5 Go 语言实现
package main
import "fmt"
func main() {
a := 0
b := 0
num := 0
for i := 1000; i < 10000; i++ {
a = i / 100
b = i % 100
num = (a + b) * (a + b)
if num == i {
fmt.Println(i)
}
}
}
程序运行结果如下图所示:
至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习编程的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!