已知正整数 n是两个不同的质数的乘积,试求出较大的那个质数。
输入只有一个正整数n。
输出只有一个正整数 ,即较大的那个质数。
【数据范围】
对于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,000,000,000≤N≤1,000,000,000-1,000,000,000≤N≤1,000,000,000 −1,000,000,000≤N≤1,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 ≤ 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;
}