1.P5718
#include <stdio.h>
int main() {
int min,n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
min=a[0];
for(int i=0;i<n;i++){
if(a[i]<min)min=a[i];
}
printf("%d",min);
return 0;
}
2.P5719
#include <stdio.h>
int main() {
double sum1=0,sum2=0,average1,average2;
int n,k,count1=0,count2=0;
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
if(i%k==0){
sum1+=i;
count1++;
}else{
sum2+=i;
count2++;
}
}
average1=sum1/count1;
average2=sum2/count2;
printf("%.1f %.1f",average1,average2);
return 0;
}
3.P5720
#include <stdio.h>
int main() {
int a,count=1;
scanf("%d",&a);
while(a!=1){
a=a/2;
count++;
}
printf("%d",count);
return 0;
}
4.P5721
#include <stdio.h>
int main() {
int n,sum=1;
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=n+1-i;j>0;j--){
if(sum<10)printf("0");
printf("%d",sum);
sum++;
}
printf("\n");
}
return 0;
}
5.P1009
def mul(n):
if n==1:
return 1;
else :
return n*mul(n-1)
n=int(input())
sum=0
for i in range(1,n+1):
sum+=mul(i)
print("{}".format(sum))
6.P1980
#include <stdio.h>
void f(int i,int b,int *count){
int temp;
while(i>0){
temp=i%10;
i=i/10;
if(temp==b) *count+=1;
}
}
int main(){
int a,b,count=0;
scanf("%d%d",&a,&b);
for(int i=1;i<=a;i++)f(i,b,&count);
printf("%d",count);
return 0;
}
7.P1035
#include <stdio.h>
int main(){
int k,n=1;
double s=1;
scanf("%d",&k);
while(s<=k){
n++;
s+=1.0/n;
}
printf("%d",n);
return 0;
}
8.P2669
#include <stdio.h>
int main(){
int k,day=0,m=0,i=1;
scanf("%d",&k);
while(day!=k){
for(int j=1;j<=i;j++){
day++;
m+=i;
if(day==k)break;
}
i++;
}
printf("%d",m);
return 0;
}
9.P5722
#include <stdio.h>
#include <math.h>
int isPrime(int n){
if(n==2)return 1;
if(n%2==0) return 0;
for(int i=3;i<=sqrt(n)+1;i+=2){
if(n%i==0) return 0;
}
return 1;
}
int main(){
int sum=0,count=0,L,n=2;
scanf("%d",&L);
while(sum<L){
if((sum+n)>L) break;
if(isPrime(n)&&((sum+n)<=L)){
printf("%d\n",n);
sum+=n;
count++;
}
n+=1;
}
printf("%d",count);
return 0;
}
10.P5723
#include <stdio.h>
#include <math.h>
int isPrime(int n){
if(n==2)return 1;
if(n%2==0) return 0;
for(int i=3;i<=sqrt(n)+1;i+=2){
if(n%i==0) return 0;
}
return 1;
}
int main(){
int sum=0,count=0,L,n=2;
scanf("%d",&L);
while(sum<L){
if((sum+n)>L) break;
if(isPrime(n)&&((sum+n)<=L)){
printf("%d\n",n);
sum+=n;
count++;
}
n+=1;
}
printf("%d",count);
return 0;
}
11.P1217
[USACO1.5] 回文质数 Prime Palindromes
#include <stdio.h>
#include <math.h>
int isPrime(int n){
if(n==2)return 1;
if(n%2==0) return 0;
for(int i=3;i<=sqrt(n)+1;i+=2){
if(n%i==0) return 0;
}
return 1;
}
int main(){
int a,b,d1,d2,d3,d4,n;
scanf("%d%d",&a,&b);
if(b>1&&a<10)
for(d1=1;d1<=9;d1++){
n=d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
if(b>10&&a<100)
for(d1=1;d1<=9;d1++){
n=10*d1+d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
if(b>100&&a<1000)
for(d1=1;d1<=9;d1++){
for(d2=0;d2<=9;d2++){
n=100*d1+10*d2+d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
}
if(b>1000&&a<10000)
for(d1=1;d1<=9;d1++){
for(d2=0;d2<=9;d2++){
n=1000*d1+100*d2+10*d2+d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
}
if(b>10000&&a<100000)
for(d1=1;d1<=9;d1++){
for(d2=0;d2<=9;d2++){
for(d3=0;d3<=9;d3++){
n=10000*d1+1000*d2+100*d3+10*d2+d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
}
}
if(b>100000&&a<1000000)
for(d1=1;d1<=9;d1++){
for(d2=0;d2<=9;d2++){
for(d3=0;d3<=9;d3++){
n=100000*d1+10000*d2+1000*d3+100*d3+10*d2+d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
}
}
if(b>1000000&&a<10000000)
for(d1=1;d1<=9;d1++){
for(d2=0;d2<=9;d2++){
for(d3=0;d3<=9;d3++){
for(d4=0;d4<=9;d4++){
n=1000000*d1+100000*d2+10000*d3+1000*d4+100*d3+10*d2+d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
}
}
}
if(b>10000000&&a<100000000)
for(d1=1;d1<=9;d1++){
for(d2=0;d2<=9;d2++){
for(d3=0;d3<=9;d3++){
for(d4=0;d4<=9;d4++){
n=10000000*d1+1000000*d2+100000*d3+10000*d4+1000*d4+100*d3+10*d2+d1;
if(isPrime(n)&&(n>=a)&&(n<=b)){
printf("%d\n",n);
}
}
}
}
}
return 0;
}
12.P1423
#include <stdio.h>
int main(){
double s,step=2,sum=0;
int count=0;
scanf("%lf",&s);
while(sum<s){
sum+=step;
step*=0.98;
count++;
}
printf("%d",count);
return 0;
}
13.P1307
#include <stdio.h>
int main(){
int n,temp,a,flag=0;
scanf("%d",&n);
if(n<0){
n=-n;
printf("-");
}
if(n==0)printf("0");//易错点
a=n;
while(n!=0){
temp=n%10;
if(temp||flag){
printf("%d",temp);
flag=1;//易错点
}
n/=10;
}
return 0;
}
14.P1720
#include <stdio.h>
#include <math.h>
int main(){
int n;
double f;
scanf("%d",&n);
f=((pow(((1+sqrt(5))/2.0),n))-(pow(((1-sqrt(5))/2.0),n)))/sqrt(5);
printf("%.2f",f);
return 0;
}
15.P5724
#include <stdio.h>
int main(){
int n,min,max;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
min=a[0];
max=a[0];
for(int i=0;i<n;i++){
if(a[i]>max)max=a[i];
if(a[i]<min)min=a[i];
}
printf("%d",max-min);
return 0;
}
16.P1420
#include <stdio.h>
int main(){
int n,count;
scanf("%d",&n);
int a[10000],b[10000]={0},j=0;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n-1;i++){
if(a[i+1]==(a[i]+1)){
b[j]++;
}else{
j++;
}
}
count=b[0];
for(int i=0;i<n;i++){
if(b[i]>count)count=b[i];
}
count++;
printf("%d",count);
return 0;
}
17.P1075
#include<stdio.h>
#include<math.h>
int isPrime(int n){
if(n==2)return 1;
if(n%2==0)return 0;
for(int i=3;i<sqrt(n)+1;i+=2){
if(n%i==0)return 0;
}
return 1;
}
int main(){
int n,max;
scanf("%d",&n);
for(int i=2;i<n;i++){
if(n%i==0&&isPrime(i)&&isPrime(n/i)){
if(i>n/i){
max=i;
}else{
max=n/i;
}
break;
}
}
printf("%d",max);
return 0;
}
18.P5725
#include <stdio.h>
int main(){
int n,k=1;
scanf("%d",&n);
for(int i=1;i<=n*n;i++){
if(i<10)printf("0");
printf("%d",i);
if(i%n==0)printf("\n");
}
printf("\n");
for(int i=1;i<=n;i++){
for(int j=0;j<n-i;j++){
printf(" ");
}
for(int j=1;j<=i;j++){
if(k<10)printf("0");
printf("%d",k);
k++;
}
printf("\n");
}
return 0;
}
19.P5726
#include <stdio.h>
int main(){
double a[1000],min,max,sum=0,average;
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%lf",&a[i]);
}
min=a[0];
max=a[0];
for(int i=0;i<n;i++){
if(a[i]>max)max=a[i];
if(a[i]<min)min=a[i];
}
for(int i;i<n;i++){
sum+=a[i];
}
average=(sum-min-max)/(n-2);
printf("%.2f",average);
return 0;
}
20.P4956
#include <stdio.h>
int main(){
int n,k,x,sum,temp1,temp2;
scanf("%d",&n);
sum=(7*x+21*k)*52;
for(x=100;x>0;x--){
for(k=1;k<n/(52*21)+1;k++){
sum=(7*x+21*k)*52;
if(sum==n){
temp1=x;
temp2=k;
break;
}
}
if(sum==n){
break;
}
}
printf("%d\n%d",temp1,temp2);
return 0;
}
21.P1089
#include <stdio.h>
int main(){
int sum1=0,sum2=0,a[12],temp,sum=0,flag=1,j,k;
for(int i=0;i<12;i++){
sum1+=300;
scanf("%d",&a[i]);
sum1-=a[i];
if(sum1>=100){
temp=sum1/100;
sum1-=temp*100;
sum2+=temp*100;
}else if(sum1<0){
j=-(i+1);
if(flag)k=j;
flag=0;
}
}
sum=sum1+sum2*1.2;
if(flag){
printf("%d",sum);
}else{
printf("%d",k);
}
return 0;
}