注:此为c++代码
虽然我的代码无注释,但如想复制,必须完全搞懂代码所对应的题!
Dev c++这东西点进来的都有吧,详情见我的另一篇文章。
正式进入题解部分: (本人小白,大佬们请勿吐槽)
1150:
#include<bits/stdc++.h>
using namespace std;
int b,sum=0;;
int sb(int a)
{
sum=0;
for(int i=1;i<=a-1;i++)
{
if(a%i==0)
{
sum+=i;
}
}
return sum;
}
int main()
{
cin>>b;
for(int i=1;i<=b;i++)
{
if(sb(i)==i)
{
cout<<sb(i)<<endl;
}
}
return 0;
}
1151:
#include<bit/stdc++.h>
using namespace std;
int n;
int i;
int sum=0;
bool judge(int x);
int main()
{
cin>>n;
for(i=2; i<=n; i++)
{
if(judge(i))
{
sum++;
}
}
cout<<sum<<endl;
return 0;
}
bool judge(int x)
{
int i=2;
while(i<=floor(sqrt(x))&&(x%i)!=0)
{
i++;
}
if(i>floor(sqrt(x)))
{
return true;
}
return false;
}
1152:
#include<bits/stdc++.h>
using namespace std;
int max(int a,int b,int c);
int main()
{
int a,b,c;
double m;
cin>>a>>b>>c;
m=1.0*max(a,b,c)/(max(a+b,b,c)*max(a,b,b+c));
printf("%.3lf\n",m);
return 0;
}
int max(int a,int b,int c)
{
int temp=a;
if(a<b) temp=b;
if(temp<c) temp=c;
return temp;
}
1153:
#include<bits/stdc++.h>
using namespace std;
bool judge(int x);
int main()
{
int i;
for(i=10; i<=99; i++)
{
if(judge(i)&&judge((i%10)*10+(i/10))) cout<<i<<endl;
}
return 0;
}
bool judge(int x)
{
int i=2;
while(i<=floor(sqrt(x))&&(x%i!=0)) i++;
if(i>floor(sqrt(x))) return true;
return false;
}
1154:
#include<bits/stdc++.h>
using namespace std;
int fuck(int sb)
{
int sum=0;
for(int i=1;i<=sb-1;i++)
{
if(sb%i==0)
{
sum+=i;
}
}
return sum;
}
int main()
{
for(int a=1;;a++)
{
if(fuck(fuck(a))==a&&a!=fuck(a))
{
cout<<a<<" "<<fuck(a)<<endl;
return 0;
}
}
return 0;
}
1155:
#include<bits/stdc++.h>
using namespace std;
bool fuck(int sb)
{
if(sb==1)
{
return 0;
}
for(int i=2;i*i<=sb;i++)
{
if(sb%i==0)
{
return 0;
}
}
return 1;
}
bool shit(int sb)
{
if(sb/100==sb%10)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
for(int i=100;i<=999;i++)
{
if(fuck(i)&&shit(i))
{
cout<<i<<endl;
}
}
return 0;
}
1156:
#include<bits/stdc++.h>
using namespace std;
double sum;
double arctanx(double x)
{
for(int i=1,t=1;pow(x,t)/t>=1e-6;i++,t+=2)
{
if(i%2==0)
{
sum-=pow(x,t)/t;
}
else
{
sum+=pow(x,t)/t;
}
}
return sum;
}
int main()
{
cout<<fixed<<setprecision(10)<<6*arctanx(1/sqrt(3));
return 0;
}
1157:
#include<bits/stdc++.h>
using namespace std;
bool prime(int x)
{
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
for(int i=6;i<=100;i+=2)
{
for(int j=2;j<=i;j++)
{
if(prime(j)&&prime(i-j))
{
cout<<i<<"="<<j<<"+"<<i-j<<endl;
break;
}
}
}
return 0;
}
1158:
#include<bits/stdc++.h>
using namespace std;
int a,b;
int main()
{
cin>>a;
b=a+1;
cout<<a*b/2;
return 0;
}
明天发:
信息学奥赛一本通
| 题号 | 题目名称 | 通过数 | 提交数 |
|---|---|---|---|
| 1307 | 【例1.3】高精度乘法 | 12105 | 33994 |
| 1308 | 【例1.5】高精除 | 4908 | 10274 |
| 1309 | 【例1.6】回文数(Noip1999) | 4734 | 11763 |
| 1168 | 大整数加法 | 16194 | 49993 |
| 1169 | 大整数减法 | 13439 | 23222 |
| 1171 | 大整数的因子 | 5255 | 9025 |
| 1172 | 求10000以内n的阶乘 | 6267 | 25134 |
| 1174 | 大整数乘法 | 7971 | 14211 |
| 1175 | 除以13 |
无1170,1173