约数(divisor)


约数(divisor)


2019年海淀区挑战赛小学组
题目描述
对于一个正整数n,如果n除以某个正整数d所得的余数为0,我们称d是n的约数。显然1和n一定是n的约数,请问对于给定的n(n>=2),除了n本身以外,最大的约数是多少?

输入

共一行,包含一个正整数n

输出

共一行,包含一个正整数,表示n除了自身以外的最大约数

样例输入

15

样例输出

5

提示
【样例解释】

15的约数有13515,除了15本身以外的最大约数为5

【数据范围】

对于30%的数据,n<=100;

对于50%的数据,n<=10^6;

对于100%的数据,2<=n<=2*10^9

简单之题,源代码:

#include<bits/stdc++.h>
using namespace std;
int main() {
	int i,n,r=1,w=0;
	scanf("%d",&n);
	for(i=2; i<n; i++) {
		if(i!=n&&n%i==0) {
			r=i;
			w++;
			break;
		}
	}
	if(w!=1) {
		printf("%d\n",r);
	} else {
		printf("%d\n",n/r);
	}
	return 0;
}

AC


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Scratch,可以使用循环、条件判断和变量相关积木来求解最大公约数。首先,我们需要从键盘获取两个正整数。然后,我们可以使用循环和条件判断来确定最大公约数。具体的程序如下所示: 1. 开始程序,询问用户输入第一个数,并将其设为变量num1。 2. 询问用户输入第二个数,并将其设为变量num2。 3. 判断num1是否大于num2,如果是,则交换num1和num2的值,可以使用一个临时变量temp来实现交换。 4. 将变量divisor设为num1。 5. 使用循环,重复执行以下步骤: a. 判断num1能否被divisor整除,并且num2能否被divisor整除,如果是,则输出divisor为最大公约数,并结束程序。 b. 如果不满足条件,将divisor减1。 6. 如果循环结束后仍未找到最大公约数,则输出"无最大公约数"。 这样,我们就可以使用Scratch来求解最大公约数了。希望对你有帮助! #### 引用[.reference_title] - *1* *2* [scratch求最大公约数 电子学会图形化编程scratch等级考试四级真题和答案解析2022年3月](https://blog.csdn.net/frank2102/article/details/124442941)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【电子学会】2022年12月图形化四级 -- 求最大公约数](https://blog.csdn.net/LSGO_MYP/article/details/128714029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值