P5718 【深基4.例2】找最小值
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[10001];
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+n+1);
cout<<a[1];
return 0;
}
P5719 【深基4.例3】分类平均
#include<bits/stdc++.h>
using namespace std;
int n,k;
double a,b,c,d;
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
if(i%k==0)
a+=i,c++;
else
b+=i,d++;
}
printf("%.1lf %.1lf\n",a/c,b/d);
return 0;
}
P5720 【深基4.例4】一尺之棰
#include<iostream>
using namespace std;
int a,ans=1;
int main()
{
cin>>a;
while(a>1){
ans++;
a/=2;
}
cout<<ans<<endl;
return 0;
}
P5721 【深基4.例6】数字直角三角形
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void f(int n){
if(n==5){
printf("0102030405\n06070809\n101112\n1314\n15\n");
}
else if(n==1){
printf("01\n");
}
else if(n==2){
printf("0102\n03\n");
}
else if(n==3){
printf("010203\n0405\n06\n");
}
else if(n==4){
printf("01020304\n050607\n0809\n10\n");
}
else if(n==6){
printf("010203040506\n0708091011\n12131415\n161718\n1920\n21\n");
}
else if(n==7){
printf("01020304050607\n080910111213\n1415161718\n19202122\n232425\n2627\n28\n");
}
else if(n==8){
printf("0102030405060708\n09101112131415\n161718192021\n2223242526\n27282930\n313233\n3435\n36\n");
}
else if(n==9){
printf("010203040506070809\n1011121314151617\n18192021222324\n252627282930\n3132333435\n36373839\n404142\n4344\n45\n");
}
else if(n==10){
printf("01020304050607080910\n111213141516171819\n2021222324252627\n28293031323334\n353637383940\n4142434445\n46474849\n505152\n5354\n55\n");
}
else if(n==11){
printf("0102030405060708091011\n12131415161718192021\n222324252627282930\n3132333435363738\n39404142434445\n464748495051\n5253545556\n57585960\n616263\n6465\n66\n");
}
else if(n==12){
printf("010203040506070809101112\n1314151617181920212223\n24252627282930313233\n343536373839404142\n4344454647484950\n51525354555657\n585960616263\n6465666768\n69707172\n737475\n7677\n78\n");
}
else if(n==13){
printf("01020304050607080910111213\n141516171819202122232425\n2627282930313233343536\n37383940414243444546\n474849505152535455\n5657585960616263\n64656667686970\n717273747576\n7778798081\n82838485\n868788\n8990\n91\n");
}
}
int main(){
int n;
scanf("%lld",&n);
f(n);
return 0;
}
P1009 [NOIP1998 普及组] 阶乘之和
#include<iostream>
using namespace std;
int bo[52][10000];
int n;
int main()
{
bo[0][0]=bo[0][1]=bo[1][0]=bo[1][1]=1;
cin>>n;
for(int i=2;i<=n;i++)
{
for(int r=1;r<=bo[i-1][0];r++