NOIP真题答案 质因数分解 数字反转 数字统计

质因数分解

说明

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

输入格式

输入只有一个正整数n。

输出格式

输出只有一个正整数 ,即较大的那个质数。

样例

输入数据 1

21
Copy

输出数据 1

7
Copy

提示

【数据范围】
对于60%的数据,6 ≤ n ≤ 1000。
对于100%的数据,6 ≤ n ≤ 2*109

【来源】noip2012普及组复赛第1题。

#include//万能头文件
using namespace std;
int main()
{
    int n;
    cin>>n;//输入这个数
    for (int i=2;i<=n;i++)//用for循环查找最小的因数
      if (n%i==0)//如果i是n的因数
        {
            cout<<n/i;//输出较大的因数
            break;//跳出循环
        } 
    return 0;
}

数字反转

题目描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

输入

一个整数 NNN

输出格式

一个整数,表示反转后的新数。

输入输出样例

输入数据 1

123
Copy

输出数据 1

321
Copy

输入数据 2

-380
Copy

输出数据 2

-83
Copy

说明

−1,000,000,000≤N≤1,000,000,000-1,000,000,000≤N≤1,000,000,000 1,000,000,000N1,000,000,000
noip2011普及组第一题

#include
using namespace std;
int x,y,z,m,n,a[99999],b,k,c,i,j;
int main()
{
	cin>>k;
	i=1;
	while(k!=0)
	{
		a[i]=k%10;
		k/=10;
		i++;
	}
	for(j=1;j<=i-1;j++)
	{
		x=x+pow(10,i-j-1)*a[j];
	}
	cout<<x;
	return 0;
}

数字统计

说明

请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。

输入格式

输入共一行,为两个正整数L和R,之间用一个空格隔开。

输出格式

输出共1行,表示数字2出现的次数。

样例

输入数据 1

2 22
Copy

输出数据 1

6
Copy

输入数据 2

2 100
Copy

输出数据 2

20
Copy

提示

【数据范围】
1 ≤ L ≤ R≤ 10000。
【来源】noip2010普及组初赛第1题。

#include
using namespace std;
int q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m;
char aa;
int main()
{
	cin>>m>>n;
	for(i=m;i<=n;i++)
    {
        if(i%10==2)
            k++;
        if(i/10%10==2)
            k++;
        if(i/100%10==2)
            k++;
        if(i/1000%10==2)
            k++;
        if(i/10000%10==2)
            k++;
    }
    cout<<k;
	return 0;
}

你可能感兴趣的:(C++,NOIP,比赛,算法,c++,数据结构,开发语言,游戏)