信息学奥赛 数论专题 (一)、整除的概念与基本性质

小学奥数 7657 连乘积末尾0的个数

http://noi.openjudge.cn/math/7657/

/*
小学奥数 7657 连乘积末尾0的个数
http://noi.openjudge.cn/math/7657/
*/
#include <cstdio>
#define min(a, b) (a < b ? a : b)

inline int five(int a)
{
	int res = 0;
	while (a % 5 == 0)
	{
		a /= 5;
		res++;
	}
	return res;
}

inline int two(int a)
{
	int res = 0;
	while (a % 2 == 0)
	{
		a /= 2;
		res++;
	}
	return res;
}

int main()
{
	int a, b, m = 0, n = 0;
	scanf("%d%d", &a, &b);
	
	for (int i = a; i <= b; i++)
	{
		m += two(i);
		n += five(i);
	}
	printf("%d", min(m, n));
	return 0;
}

小学奥数 7826 分苹果

http://noi.openjudge.cn/math/7826/

/*
小学奥数 7826 分苹果
http://noi.openjudge.cn/math/7826/
*/
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
 
    cin >> n;
 
    cout << n * (n + 1) / 2 << endl;
 
    return 0;
}

1.4编程基础之逻辑表达式与条件分支 08 判断一个数能否同时被3和5整除

/*
1.4编程基础之逻辑表达式与条件分支 08 判断一个数能否同时被3和5整除
http://noi.openjudge.cn/ch0104/08/
*/
#include<iostream>
using namespace std;
int main()
{
	int n;
	
	cin>>n;
	
	if( n%3 == 0 && n%5 == 0 ) 
	{
		cout<<"YES";
	}
	else
	{
		cout<<"NO";
	}
	
	return 0;
}

1.4编程基础之逻辑表达式与条件分支 09 判断能否被3,5,7整除

http://noi.openjudge.cn/ch0104/09/

/*
1.4编程基础之逻辑表达式与条件分支 09 判断能否被3,5,7整除
http://noi.openjudge.cn/ch0104/09/
*/
#include <bits/stdc++.h>  //通用头文件
using namespace std;  //名字空间 
int main()
{
	int x;
	
	cin>>x;
	
	if(x%3==0)
	{
		cout<<"3"<<" ";
		
	}
	
	if(x%5==0)
	{
		cout<<"5"<<" ";
	}
		
	if(x%7==0)
	{
		cout<<"7"<<" ";
	}
	
	if(x%3!=0 && x%5!=0 && x%7!=0)
	{
		cout<<"n"<<endl;
	}
	
	return 0;	
} 

小学奥数 7654 等差数列末项计算

http://noi.openjudge.cn/math/7654/

/*
小学奥数 7654 等差数列末项计算
http://noi.openjudge.cn/math/7654/
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int a1,a2,n,d;
	
	cin>>a1>>a2>>n;
		
	d=a2-a1;

	cout<<(a1+(n-1)*d)<<endl;
	
	return 0;
}

1.3编程基础之算术表达式与顺序执行 13 反向输出一个三位数

http://noi.openjudge.cn/ch0103/13/

/*
1.3编程基础之算术表达式与顺序执行 13 反向输出一个三位数
http://noi.openjudge.cn/ch0103/13/
*/
#include <bits/stdc++.h>  //通用头文件
using namespace std;  //名字空间 
int main()
{ 
	int a,b,c,m,n;
	cin>>m;                                          
	
	a=m/100;  //百位数 
	b=(m/10)%10;  //十位数 
	c=m%10;  //个位数 
	
	cout<<c<<b<<a<<endl;

	return 0;	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值