0
点赞
收藏
分享

微信扫一扫

个人博客教程(Typora官方免费版)

大师的学徒 2024-01-14 阅读 12

#include <iostream>
#include <iomanip>
using namespace std;
float aaa(int);
int main()
{
	int n;
	cin>>n;
	float sum = 0;
	for(int i = 0;i<n;i++)
	{
		int a;
		cin>>a;
		sum = sum+aaa(a);
	}
	cout<<fixed<<setprecision(1)<<sum;
	return 0;
}
float aaa(int q)
{
	float sum2 = (int)q/70*0.1;
	if(q%70!=0) sum2 = sum2+0.1;
	return sum2;
}

完数判断

题目描述

一个数如果恰好等于它的因子之和,这个数就称 为“完数”。

例如,6 的因子为 1、2、3 ,而 6=1+2+3 ,因此 6 就是“完数”。又如,28 的因子为 1、2、4、7、14而28=1+2+4+7+14 ,因此 28 也是“完数”。

编写一个程序,判断用户输入的一个数是否为“完数”

输入

输入只有一行,即一个整数。

输出

输出只有一行,如果该数为完数,输出 yes,否则输出no。

#include <iostream>
#include <iomanip>
using namespace std;
int aaa(int);
int main()
{
	int n;
	cin>>n;
	if(aaa(n)==n)
	{
		cout<<"yes";
	}
	else
	{
		cout<<"no";
	}
	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;
}

n以内的质数

题目描述

求出 N 以内的全部素数,并按每行五个数显示。

输入

输入一个整数 N 。( N ≤1000 )

输出

依题意,输出满足条件的数!2 3 5 7 11 …………

#include <iostream>
#include <iomanip>
using namespace std;
bool aaa(int);
int main()
{
	int n;
	cin>>n;
	int sum = 0;
	for(int i = 2;i<=n;i++)
	{
		if(aaa(i)==true)
		{
			sum++;
			cout<<i<<" ";
			if(sum==5)
			{
				cout<<endl;
				sum = 0;
			}
		}
	}
	return 0;
}
bool aaa(int q)
{
	if(q==1) return false;
	if(q==2) return true;
	for(int j = 2;j<q;j++)
	{
		if(q%j==0)
		{
			return false;
		}
	}
	return true;
}

n到m之间质数的个数

题目描述

编程求正整数 M N 之间的所有素数的个数。( 1≤ M N ≤30000 )

输入

输入只有一行,包括 2 个整数 M , N ,之间用一个空格分开。

输出

输出只有一行(这意味着末尾有一个回车符号),包括 1 个整数。

样例

输入复制

1 20

输出复制

8

#include <iostream>
#include <iomanip>
using namespace std;
bool aaa(int);
int main()
{
	int n,m;
	cin>>n>>m;
	int sum = 0;
	for(int i = n;i<=m;i++)
	{
		if(aaa(i)==true)
		{
			sum++;
		}
	}
	cout<<sum;
	return 0;
}
bool aaa(int q)
{
	if(q==1) return false;
	if(q==2) return true;
	for(int j = 2;j<q;j++)
	{
		if(q%j==0)
		{
			return false;
		}
	}
	return true;
}

纯粹合数

题目描述

一个合数,去掉最低位,剩下的数仍是合数,再去掉剩下的数的最低位,余留下

来的数还是合数,这样反复,一直到最后剩下的一位数仍是合数;我们把这样的

数称为纯粹合数。求所有的三位纯粹合数。

输入

输出

若干个 3 位数,每行一个(从小到大)。

#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;
}

举报

相关推荐

0 条评论