华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1310|回复: 4
打印 上一主题 下一主题

P1075 质因数分解

[复制链接]

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
跳转到指定楼层
#
发表于 2018-5-25 19:55:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
https://www.luogu.org/problemnew/show/P1075

题目描述
已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数。

输入输出格式
输入格式:
输入只有一行,包含一个正整数n。

输出格式:
输出只有一行,包含一个正整数p,即较大的那个质数。

输入输出样例
输入样例#1:
21
输出样例#1:
7
回复

使用道具 举报

3

主题

50

帖子

365

积分

中级会员

Rank: 3Rank: 3

积分
365
推荐
发表于 2018-5-25 20:55:19 | 只看该作者
  1. #include<iostream>
  2. using namespace std;
  3. int p,i;
  4. int j;
  5. int main()
  6. {
  7.     cin>>p;
  8.     for(i=2;i<=p;i++)
  9.         if(p%i==0)
  10.     {
  11.         j=p/i;
  12.      cout<<j  ;  
  13.      break;

  14.     }
  15.     return 0;
  16. }
复制代码
回复 支持 1 反对 0

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
板凳
 楼主| 发表于 2018-6-5 17:10:28 | 只看该作者
因为一定可以分解,所以我们可以这样写
  1. for(i=2;n%i>0;i++)
  2. cout<<n/i;
复制代码
回复 支持 反对

使用道具 举报

0

主题

2

帖子

36

积分

新手上路

Rank: 1

积分
36
沙发
发表于 2018-6-5 17:01:05 | 只看该作者
  1. #include <iostream>
  2. using namespace std;
  3. int n,i;
  4. int main()
  5. {
  6.     cin>>n;
  7.     for(i=2; i*i<=n; i++)
  8.         if(n%i==0)
  9.         {
  10.             cout<<n/i;
  11.             break;
  12.         }
  13.     return 0;
  14. }
复制代码
回复 支持 反对

使用道具 举报

4

主题

21

帖子

89

积分

注册会员

Rank: 2

积分
89
楼主
发表于 2018-5-25 21:00:35 | 只看该作者
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cmath>
  4. using namespace std;
  5. int main()
  6. {
  7.     int n;
  8.     int i;
  9.     cin >> n;
  10.     for(i = 2 ; i <= sqrt(n) ; i++)
  11.     {
  12.         if(n % i == 0)
  13.             break;
  14.     }
  15.     cout << n / i;
  16.     return 0;
  17. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 12:20 , Processed in 0.106451 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表