原题:
算法提高 拿糖果 时间限制:1.0s 内存限制:256.0MB 问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉。思路:
一开始看到这个题,我就想到先求素数表,但是后来仔细一想,每次都取质因数,到后来还不是相当于取得合数,我就直接用的sqrt(M),结果对了,代码如下:
#include <math.h>
#include <iostream>
using namespace std;
int main()
{
int N;
cin>>N;
int sum = 0,M = N;
while(1)
{
int m = (int)sqrt(M);
sum += m;
M -= 2 * m;
if(M <= 3)
break;
}
cout<<sum;
return 0;
}
#include <math.h>
#include <iostream>
using namespace std;
int main()
{
int N;
cin>>N;
if(N <= 3)
;
else if(N % 2 == 0)
cout<< N / 2;
else
cout<<(N - 3) / 2;
return 0;
}
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。