这个题目该怎么做鸭,能不能讲一下思路,代码。看了半天没看懂,不知道如何表达最大的质数。
3条回答 默认 最新
- threenewbee 2023-03-30 13:28关注
思路,从最大的质因数找起
#include <stdio.h> int isp(int n) { if (n < 2) return 0; for (int i = 2; i < n; i++) if (n % i == 0) return 0; return 1; } int main() { int n; scanf("%d",&n); for (int i = n - 1; i >=1; i--) { if (n % i == 0 && isp(i)) { printf("%d", i); return 0; } } return 0; }
也可以这么写
#include <stdio.h> int main() { int n, i, j, maxPrime = 0; printf("请输入一个正整数n:"); scanf("%d", &n); for(i = 2; i <= n; i++){ if(n % i == 0){ maxPrime = i; // 先记录当前的i,可能是最大的质因数 while(n % i == 0){ n /= i; } } } if(maxPrime != 0){ printf("最大的质因数是:%d\n", maxPrime); } else{ printf("%d没有质因数\n", n); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 角动量包络面如何用MATLAB绘制
- ¥15 merge函数占用内存过大
- ¥15 Revit2020下载问题
- ¥15 使用EMD去噪处理RML2016数据集时候的原理
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
- ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
- ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
- ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
- ¥15 如何在炒股软件中,爬到我想看的日k线
- ¥15 seatunnel 怎么配置Elasticsearch