发现很多评论区的代码作为小白看不懂,很绕。这是自己写的代码,希望能帮到其他小白。顺便记录一下自己的思路,希望能够找到工作。
#include <iostream>
using namespace std;
bool judgeprime(int n)//判断是不是素数,素数就是除了1只有本身的数
{
for(int i=2;i*i<=n;i++)
{
if(n%i==0)//如果发现除了1还有其他数整除,那么就不是素数
{
return false;
}
}
return true;
}
int main() {
int n=0;
cin>>n;
int maxl=1,maxr=n;//想要两个数差小那么两个数就靠近中间,n/2
for(int i=2;i<=(n/2);i++)
{
if(judgeprime(i)==true&&judgeprime(n-i)==true)
{
maxl=i;
maxr=n-i;
}
}
cout<<maxl<<endl<<maxr;
}
// 64 位输出请用 printf("%lld")
#include <iostream>
using namespace std;
//递归法判断,n是苹果数,m是盘子数。永远只有两种情况
//1.某个盘子不放
//2.所有盘子都放上苹果
int apple(int n,int m)
{
if(n<0)//如果苹果数《0,那么返回0
{
return 0;
}
else if(n==0||m==1||n==1)//如果苹果数0,或者苹果数1,或者盘子数1,那么只有一种方法,所以返回1.
{
return 1;
}
return apple(n-m,m)+apple(n,m-1);
}
int main() {
int n,m;
cin>>n>>m;
cout<<apple(n,m);
return 0;
}
// 64 位输出请用 printf("%lld")
#include <iostream>
using namespace std;
#include<bitset>
#include<string>
#include<algorithm>
int judgeone(int n)//判断1的个数函数
{
bitset<32>binary(n);//需要包含头文件bitset,可以将n转化为2进制数,32表示32位的
//cout<<binary<<endl;//测试代码
string s=binary.to_string();//变化为string类型
int number=count(s.begin(),s.end(),'1');//包含头文件algorithm,统计字符串内1的个数