#include <iostream>
#include <iomanip>
using namespace std;
bool aaa(int);
int main()
{
for(int i = 100;i<=999;i++)
{
int a = i%10;
int b = i/10%10;
int a1 = (i-a)/10;
int a2 = (a1-b)/10;
if(aaa(a1)==true&&aaa(a2)==true&&aaa(i)==true)
{
cout<<i<<endl;
}
}
return 0;
}
bool aaa(int q)
{
if(q==1) return false;
if(q==2) return false;
for(int j = 2;j<q;j++)
{
if(q%j==0)
{
return true;
}
}
return false;
}
1-n之间完全数的个数
题目描述
一个大于1的正整数若等于全部因子的和,则称此数为完全
数。例如: 6 有因子 1,2,3 。同时 6=1+2+3 ,所以 6 是
完全数。
输入
一个正整数
N
( 10≤
N
≤100000 )
输出
小于等于
N
的完全数的个数。
#include <iostream>
#include <iomanip>
using namespace std;
int aaa(int);
int main()
{
int cnt = 0;
int n;
cin>>n;
for(int i = 2;i<n;i++)
{
if(aaa(i)==i)
{
cnt++;
}
}
cout<<cnt;
return 0;
}
int aaa(int q)
{
int sum = 1;
for(int i = 2;i*i<=q;i++)
{
if(q%i==0)
{
sum = sum+i+q/i;
}
if(i*i==q)
{
sum = sum-i;
}
}
return sum;
}
孪生素数
题目描述
我们定义,如果
a
和
a
+2
都是素数(如
5
和
7
),那么我们就
称
a
和
a
+2
是一对孪生素数。请写一个程序找出
2
~
N
之间的所有孪生
素数。
输入
一个整数
N
(
2<
N
<1000
)。
输出
若干行,每行两个整数,即一对孪生素数。
样例
输入复制
10
输出复制
3 5
5 7
输入复制
17
输出复制
3 5
5 7
11 13
#include <iostream>
#include <iomanip>
using namespace std;
bool aaa(int);
int main()
{
int cnt = 0;
int n;
cin>>n;
for(int i = 2;i<n-1;i++)
{
if(aaa(i)==true&&aaa(i+2)==true)
{
cout<<i<<" "<<i+2<<endl;
}
}
return 0;
}
bool aaa(int q)
{
if(q==1) return false;
if(q==2) return true;
for(int i = 2;i<q;i++)
{
if(q%i==0)
{
return false;
}
}
return true;
}