JAVA:将一个数分解因式

本文介绍了一个简单的质因数分解算法实现。通过递归方式,该算法能够将输入的整数分解为其所有质因数的乘积形式。此外,还包含了一个判断质数的辅助函数。

import java.util.Scanner;

public class Test3 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.print("请输入一个数:");
        Scanner s = new Scanner(System.in);
        int num=s.nextInt();
        s.close();
        System.out.print(num+"=1");
        fenjie(num);
    }
    public static void fenjie(int num) {
        if(judge(num))
        {
            System.out.print("*"+num);
            return;
        }
        for(int i=2;i<=num/2;i++) {
            if(num%i==0)
            {
                fenjie(i);
                fenjie(num/i);
                return;
            }
        }
    }
    public static boolean judge(int num) {
        for(int i=2;i<=Math.sqrt(num);i++) {
            if(num%i==0)
            {
                return false;
            }
        }
        return true;
    }
}
### 如何在 Android Studio 中实现因式分解功能 要在 Android Studio 中创建一个具有因式分解功能的应用程序,可以按照以下方法设计和实现。以下是详细的说明: #### 1. 创建项目结构 启动 Android Studio 并创建一个新的项目。选择“Empty Activity”模板,并设置项目的名称、包名以及保存路径。 #### 2. 设计用户界面 (UI) 编辑 `res/layout/activity_main.xml` 文件来定义应用程序的布局。可以通过 XML 或者可视化设计器完成此操作。下面是一个简单的 UI 示例,其中包含输入框用于接收要分解的整,按钮触发计算过程,以及显示结果的文本视图。 ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 输入字段 --> <EditText android:id="@+id/inputNumber" android:hint="请输入一个正整" android:inputType="number" android:layout_width="match_parent" android:layout_height="wrap_content"/> <!-- 计算按钮 --> <Button android:id="@+id/buttonFactorize" android:text="因式分解" android:onClick="factorize" android:layout_width="match_parent" android:layout_height="wrap_content"/> <!-- 显示结果 --> <TextView android:id="@+id/resultText" android:text="" android:layout_width="match_parent" android:layout_height="wrap_content"/> </LinearLayout> ``` #### 3. 编写逻辑代码 打开 `MainActivity.java` 文件,在其中添加处理因式分解的核心算法及其调用函。这里提供了一个基本的 Java 实现方式来进行质因分解。 ```java package com.example.factorizationapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void factorize(View view){ EditText inputField = findViewById(R.id.inputNumber); // 获取输入控件 TextView resultView = findViewById(R.id.resultText); // 获取结果显示控件 try{ int number = Integer.parseInt(inputField.getText().toString()); String factors = getPrimeFactors(number).toString(); // 调用因式分解方法 // 设置结果到界面上 resultView.setText(factors.substring(1, factors.length()-1)); } catch(NumberFormatException e){ resultView.setText("请输入有效的正整!"); } } private StringBuilder getPrimeFactors(int n){ StringBuilder primeFactors = new StringBuilder(); while(n % 2 == 0){ primeFactors.append(", 2"); n /= 2; } for(int i=3;i<=Math.sqrt(n);i+=2){ while(n%i==0){ primeFactors.append(", ").append(i); n /= i; } } if(n>2){ primeFactors.append(", ").append(n); } return primeFactors.deleteCharAt(primeFactors.indexOf(",")); // 删除第一个逗号 } } ``` 以上代码实现了从用户获取值的功能,并通过点击事件执行因式分解运算,最终将结果展示给用户[^4]。 #### 4. 测试应用 运行模拟器或者连接实际设备测试您的应用是否能够正常工作。确保输入各种类型的整都能得到正确的质因列表作为输出。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值