C语言:质因数分解

embedded/2025/3/3 23:08:27/

题目:

已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。

分析:

     本题有三个小点需要注意:

        1.找出因子。

        2.判断因子是否为质数。

        3.比较因子大小。

故,采用模块化思想,分开实现,即采用函数单独判断。

代码:

#include<stdio.h>//判断是否为质数,是则返回1,否则返回0
int is_prime(int x){if(x<2) return 0;	//小于2的数不是质数for(int i=2;i*i<x;i++)if(x%i == 0) //能被整除的数不是质数return 0;	return 1;
}//找较大的质因子,能找到则返回较大的质数,找不到则返回-1
int find_larger_prime(int n){for(int i=2;i*i<=n;i++){if(n%i==0){int p=i;int q=n/p;if(is_prime(q))return p>q?p:q;}}return -1;
}int main(){int n;scanf("%d",&n);int larger_prime = find_larger_prime(n);if (larger_prime != -1) {printf("%d\n", larger_prime);} else {printf("not fond\n");}getchar();getchar();return 0;
}

测试:

样例输入
21
样例输出
7

http://www.ppmy.cn/embedded/169736.html

相关文章

【深度学习】Hopfield网络:模拟联想记忆

Hopfield网络是一种经典的循环神经网络&#xff0c;由物理学家John Hopfield在1982年提出。它的核心功能是模拟联想记忆&#xff0c;类似于人类大脑通过部分信息回忆完整记忆的能力。以下是通俗易懂的解释&#xff1a; 1. 核心思想 想象你看到一张模糊的老照片&#xff0c;虽然…

【Java项目】基于SpringBoot和Vue的“智慧食堂”系统

【Java项目】基于SpringBoot和Vue的“智慧食堂”系统 技术简介&#xff1a;采用SpringBoot框架、Vue前端框架、Java语言、MySQL数据库等技术实现。系统使用B/S架构&#xff0c;前端通过Vue实现用户界面&#xff0c;后端使用SpringBoot框架和MySQL数据库进行数据处理和存储&…

CSS默认样式

<!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>默认样式</title><style>#d1{font-s…

Composer如何通过GitHub Personal Access Token安装私有包:完整教程

使用Composer安全管理您的PHP私有依赖包 一、前言 在PHP开发中&#xff0c;我们经常需要将内部工具包托管为私有仓库。传统的账号密码验证方式存在安全隐患&#xff0c;而GitHub Personal Access Token&#xff08;PAT&#xff09;提供了一种更安全的鉴权方案。本文将通过4个…

React组件化深度解析(二):从受控组件到生命周期现代化

目录 一、组件设计哲学&#xff1a;控制与自由的博弈 1. 受控组件 vs 非受控组件&#xff1a;灵魂三问 核心差异对比表 选型决策树 二、复合组件模式&#xff1a;隐式状态共享的艺术 1. Compound Components设计模式 实现原理四部曲 2. 手写可配置的Accordion组件 三、…

结构型模式---外观模式

概念 外观模式是一种结构型设计模式&#xff0c;它的核心思想是为复杂的子系统提供一个统一的接口&#xff0c;简化客户端与子系统的交互。外观模式通过引入一个高层接口&#xff0c;隐藏子系统的复杂性&#xff0c;使客户端更容易使用。 适用场景 用于客户端无需具体操作子…

ubuntu下r8125网卡重启丢失修复案例一则

刚装的一台服务器&#xff0c;ubuntu24.04&#xff0c;主板网卡是r8125&#xff0c;安装服务后会莫名其妙丢失驱动 按照官网的方法下载最新8125驱动包&#xff1a; Realtek 然后卸载驱动 rmmod r8125 然后在驱动包里安装&#xff08;幸好我之前装了build-essential&#x…

Matlab 大量接单

分享一个matlab接私活、兼职的平台 1、技术方向满足任一即可 2、技术要求 3、最后 技术方向满足即可 MATLAB&#xff1a;熟练掌握MATLAB编程语言&#xff0c;能够使用MATLAB进行数据处理、机器学习和深度学习等相关工作。 机器学习、深度学习、强化学习、仿真、复现、算法、…