P5718 【深基4.例2】找最小值
给出n(n≤100) 和 n 个整数 ai(0≤ai≤1000),求这 n 个整数中最小值是什么。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,n,max;
cin>>n;
cin>>max;
for(int i=1;i<n;i++)
{
cin>>a;
if(a<max)
max=a;
}
cout<<max;
return 0;
}P5719 【深基4.例3】分类平均
给定 n(n≤10000) 和k(k≤100),将从 1 到 n 之间的所有正整数可以分为两类:A 类数可以被 k 整除(也就是说是 k 的倍数),而 B 类数不能。请输出这两类数的平均数,精确到小数点后 1 位,用空格隔开。
数据保证两类数的个数都不会是 0。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k,a=0,b=0,u=0,y=0;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
if(i%k==0)
{
a+=i;
u++;
}
else b+=i,y++;
}
printf("%.1f %.1f",(double)a/u,(double)b/y);
}P5720 【深基4.例4】一尺之棰
题目描述
《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为a(a≤109) 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍会变为 1?
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b=0;
cin>>a;
while(a>=1)
{
a/=2;
b++;
}
cout<<b;
}P5721 【深基4.例6】数字直角三角形
题目描述
给n(1≤n≤13),请输出一个直角边长度是 n 的数字直角三角形。所有数字都是 2 位组成的,如果没有 2 位则加上前导 0。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b=0;
cin>>a;
for(int i=1;i<=a;i++)
{
for(int j=i;j<=a;j++)
{
b++;
if(b<10)
{
cout<<"0"<<b;
}
else cout<<b;
}
cout<<endl;
}
}P1980 [NOIP2013 普及组] 计数问题
题目描述
试计算在区间 1 到 n 的所有整数中,数字 x(0≤x≤9)共出现了多少次?例如,在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,数字 11 出现了 44 次。
输入格式
2 个整数 n,x,之间用一个空格隔开。
输出格式
1 个整数,表示 x 出现的次数。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x,b,c=0,d;
cin>>n>>x;
for(int i=1;i<=n;i++)
{
b=i;
while(b)
{
d=b%10;
b/=10;
if(d==x) c++;
}
}
cout<<c;
}P1035 [NOIP2002 普及组] 级数求和
题目描述
已知:Sn=1+21+31+…+n1。显然对于任意一个整数 k,当 n 足够大的时候,Sn>k。
现给出一个整数 k,要求计算出一个最小的 n,使得 n>k。
输入格式
一个正整数 k。
输出格式
一个正整数 n。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k,n;
double b=0.000000;
cin>>k;
for(int i=1;i<=1000000000;i++)
{
b+=1.0/i;
if(k<=b)
{
cout<<i;
break;
}
}
}版权声明:本文为gyk1303原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。