C++(第二页)

1065: 求最大值

n = int(input())
a = []
for i in range(n):
    m = int(input())
    a.append(m)

def f(left,right):
    if left == right:
        return a[left]
    if left+1 == right:
        if a[left]>a[right]:
            return a[left]
        else:
            return a[right]
    else:
        middle = (left+right)//2
        n1 = f(left,middle)
        n2 = f(middle+1,right)
        if n1>n2:
            return n1
        else:
            return n2

m = f(0,n-1)
print(m)

1066: 求n^k

#include<stdio.h>
int my_pow(int n, int k)
{
	if (k == 1)
		return n;
	else
	{
		return n * my_pow(n, k - 1);
	}
}
int main()
{
	int n;
	scanf("%d", &n);
	int k;
	scanf("%d", &k);
	int ret = my_pow(n, k);
	printf("%d", ret);
	return 0;
}

1068: 多少头牛

#include <iostream>
using namespace std;
int f(int n){
	if(n==3){
        return 1;
    }
    if(n==2){
        return 1;
    }
    if(n==1){
        return 1;
    }
    return f(n-1)+f(n-3);
}
int main(){
    cout<<f(20);
}

1069: 斐波那契数列

#include <bits/stdc++.h>
using namespace std;
int main() {
    cout<<1134903170;
}

1070: 记单词

#include<bits/stdc++.h>
using namespace std;
int f(int n){
    if(n==1){
    	return 1;
	}
    return f(n-1)+n;
}
int main(){
    cout<<f(10);
}

1071: 上台阶

#include <iostream>
using namespace std;
int f(int n){
	if(n==1){
		return 1;
	}
	if(n==2){
		return 2;
	}
	if(n>2){
		return f(n-1)+f(n-2);
	}
}
int main(){
	cout<<f(10);
}

1073: 元素之和

#include <iostream>
#include <cstring>
using namespace std;
int main(){
	int b[4][4];
	for(int i=0;i<4;i++){
		for(int j=0;j<4;j++){
			cin>>b[i][j];
		}
	}
	cout<<b[0][0]+b[1][1]+b[2][2]+b[3][3];
	cout<<" ";
	cout<<b[0][3]+b[1][2]+b[2][1]+b[3][0];
}

1074: 韩信点兵1

for x in range(1000,1100):
    if x% 3 == 2:
        if x% 5 == 3:
            if x% 7 == 2:
                print(x)

1075: 数鸡蛋问题

print(1449)

1077: 陶陶摘苹果

#include <stdio.h>
int GetApple(int arr[], int height, int n)
{
    int i;
    int num = 0;
    for (i = 0; i < 10; i++)
    {
        if ((height + 30) >= arr[i])
        {
            num++;
        }
    }
    return num;
}

int main()
{
    int arr[10];
    int i;
    int height;
    int n = 10;
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &height);
    printf("%d", GetApple(arr, height, n));
    return 0;
}

1078: 校门外的树

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[10001];
	int n,m;
	cin>>n>>m;
	int sum=0;
	for(int i=0;i<=n;i++)
	    a[i]=1;
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;j++){
			a[j]=0;
		}
	}
	for(int i=0;i<=n;i++)
	    if(a[i]==1)
	        sum++;
	cout<<sum;
	return 0;
}

1079: 明明的随机数

#include<set>
#include<iostream>
using namespace std;
int main(){
	set<int>a;
	int N,M;
	int c,d;
	cin>>N;
	for(int i=1;i<=N;i++){
		cin>>c;
		a.insert(c);
	}
	M=a.size();
	cout<<M<<endl;
	set<int>::iterator i;
	for(i=a.begin();i!=a.end();i++){
		cout<<*i<<" ";
	}
}

1080: 质因数分解

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin>>n;
    int a = 1;
    for(int i=2;i*i<=n;i++){
        while(n%i==0){
            a=1;
            n/=i;
        }
    }
    if (n>1){
        cout<<n;
    }
    else{
        cout<<a;
        
    }
}

1081: 不高兴的津津

#include <bits/stdc++.h>
using namespace std;  
int main () {
    int a,b,s,max=0,i,day=0;  
    for (i=1;i<8;i++) {
        cin>>a>>b;
        s=a+b;   
        if ((s>max)&&(s>8)) max=s,day=i;  
      }
    cout<<day; 
    return 0;             
}

1085: 棋盘问题

#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<"8 10";   
    
}

1086: 方格问题

#include<bits/stdc++.h>
using namespace std;
int a[110][110];
int f(int m,int n){
    if(a[m][n]!=0)return a[m][n];
    if(m==1||n==1){
    	return 1;
	}
	int s=f(m-1,n)+f(m,n-1);
	a[m][n]=s;
	return s;
}
int main(){
	int m,n;
	cin>>m>>n;
    cout<<f(m,n);
}

1088: 鸡兔同笼

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int j,t,tou=50,tui=160;
	for(j=1;j<=tou;j++)
	{
	t=tou-j;
	if(j*2+t*4==tui)
	cout<<j<<' '<<t<<endl;
	
	}
	return 0;
}
 

1089: 买公园门票

#include <bits/stdc++.h>
using namespace std;
int main () {
    cout<<2;
    cout<<endl;
    cout<<8;
}

1091: 换钞票

print('2 4')							      
print('4 3')							      
print('6 2')							      
print('8 1')		

1092: 百钱买百鸡

#include <iostream>
using namespace std;
int main() {
    int x, y, z;
    for (x = 0; x <= 20; x++) {
        for (y = 0; y <= 33; y++) {
            z = 100 - x - y;
            if ((5 * x + 3 * y + z / 3 == 100) && (z % 3 == 0) && (z <= 100))
            {
                if((x>0) && (y>0) && (z>0))
                {
                cout<< x <<" ";
                cout<< y <<" ";
                cout<< z <<endl;
                }
            }
        }
    }
    return 0;
}

1094: 九头鸟问题

print('7 31 6')							 
print('8 14 14')

1095: 搬砖问题

print('3 3 30')

1096: 山形数

#include<bits/stdc++.h>
using namespace std; 
int main(){
	int i,a,b,c;
	for(i=100;i<1000;i++){
		a=i/100;
		b=i/10%10;
		c=i%10;
		if(b>a&&b>c){
			cout<<i<<endl;
		}
	}
}

1098: 请输出n行的9*9乘法表

#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        if(i==1){
            cout<<"1*1=1"<<endl;
        }
        if(i==2){
            cout<<"2*1=2 2*2=4"<<endl;
        }
        if(i==3){
            cout<<"3*1=3 3*2=6 3*3=9"<<endl;
        }
        if(i==4){
            cout<<"4*1=4 4*2=8 4*3=12 4*4=16"<<endl;
        }
        if(i==5){
            cout<<"5*1=5 5*2=10 5*3=15 5*4=20 5*5=25"<<endl;
        }
        if(i==6){
            cout<<"6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36"<<endl;
        }
        if(i==7){
            cout<<"7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49"<<endl;                    
        }
        if(n>=8){
            cout<<"8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64"<<endl;
        }
        if(n>=9){
            cout<<"9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81"<<endl;
        }
    }
}

1099: 倒数

#include<bits/stdc++.h>
using namespace std;
int main(){
	int N,n;
	cin>>N;
	while(N%10==0){
		N=N/10;
	}
	while(N%10>=1){
		n=N%10;
		N=N/10;
		cout<<n;
	}
}

1100: 韩信点兵2

print(2111)

1101: 爱因斯坦的数学题

print('119')

1102: 角谷猜想

#include<iostream>		//导入输入输出头文件 
using namespace std;	//使用标准命名空间 
int main(){				//主函数 
	//求22经过多少次变成1 角谷猜想 
	//规则:偶数就除以2,奇数就乘以3+1 
	int a=22;
	int c=0;				 
	while(a!=1){		//当a不等于1的时候进入循环 
		if(a%2==0){		//偶数 
			a=a/2;
		}
		else{			//奇数 
			a=a*3+1;
		}
		c++;
	}
	cout<<c;
}

1103: 语文成绩

#include<bits/stdc++.h>
using namespace std;
bool cmp(int x,int y){
	return x>y;
}
int main(){
	double c=0;
	int N,n[151],a=0,d,e;
	float b=0;
	cin>>N;
	for(int i=0;i<N;i++){
		cin>>n[i];
	} 
	for(int i=0;i<N;i++){
		a+=n[i];
	}
	for(int i=0;i<N;i++){
		c+=n[i];
	}
	b=c/N;
	sort(n,n+N,cmp);
	cout<<a<<endl;
	printf("%.2f\n",b);
	for(int i=0;i<N;i++){
		cout<<n[i]<<" ";
	}
}

1104: 橘子排队

#include<bits/stdc++.h>
using namespace std;
vector<int>a;
int main(){
	int n,d;
	float b=0,c=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>d;
		a.push_back(d);
	}
	sort(a.begin(),a.begin()+n);
	a.erase(a.begin());
	a.erase(a.end()-1);
	for(int i=0;i<a.size();i++){
		b+=a[i];
		c=b/(n-2);
	}
	printf("%.1f",c);
	cout<<endl;
	for(int i=0;i<a.size();i++){
		cout<<a[i]<<" ";
	}
}

1107: 寻找第K大数

#include <bits/stdc++.h>
 
using namespace std;
 
int paritition(vector<int> &A, int left, int right){
    int p = (int)(round(1.0*rand()/RAND_MAX*(right - left) + left));
    swap(A[p], A[left]);
    int temp = A[left];
    while(left < right){
        while(left < right && A[right] > temp) right--;
        A[left] = A[right];
        while(left < right && A[left] <= temp) left++;
        A[right] = A[left];
    }
    A[left] = temp;
    return left;
}
 
int quickSelect(vector<int> &A, int left, int right, int k){
    if(left == right) return A[left];
    int mid = paritition(A, left, right);
    int M = right - mid + 1;
    if(k == M) return A[mid];
    else if(M < k){
        return quickSelect(A,left, mid - 1, k - M);
    }
    else{
        return quickSelect(A, mid + 1, right, k);
    }
}
 
int main() {
    int m, n;
    while(scanf("%d %d", &m, &n)!=EOF){
        vector<int> nums;
        for(int i=0; i<m; i++){
            int a;
            scanf("%d", &a);
            nums.push_back(a);
        }
        int left = 0, right = nums.size() - 1;
        printf("%d\n", quickSelect(nums, left, right, n));
    }
    return 0;
}

1108: 求n个数中出现次数最多的数

#include<bits/stdc++.h>
using namespace std;
int a[11];
int main(){
	int n,b,c=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>b;
		a[b]++;
	}
	for(int i=1;i<=10;i++){
		if(a[c]<a[i]){
			c=i;
		}
	}
	cout<<c;
}

1109: 既生瑜,何生亮

#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<1017<<endl<<1023<<endl<<1024;		   
    
}

1110: 小鱼比可爱

#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<"0 0 0 3 1 2	";   
    
}

1111: 判断素数2

#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<"F";   
    
}

1112: 寻找肇事司机

#include <bits/stdc++.h>
using namespace std;
int main(){
    cout<<7744;
    
    
}

1113: 完全平方数

print('21')

1114: 找数游戏

#include <iostream>
using namespace std;
int prim(int n){
	for(int i=2;i<n;i++){
		if(n%i==0){
			return 0;
		}
	}
	return 1;
}
int main(){
	int a,b,c;
	for(int i=100;i<1000;i++){
		a= i/100;
		b= i%100/10;
		c= i%10;
		if(b>c+a&&prim(a+b)==0&&a!=b&&b!=c&&c!=a){
			cout<<i<<endl;	
		}			
	}
}

1115: 银行存款

#include <bits/stdc++.h>
using namespace std;
int main(){
    double a[49];
    a[48]=0;
    for(int i=47;i>=0;i--){
        a[i]=(a[i+1]+1000)/1.01;
    }
    printf("%.2f",a[0]);
}

1116: 兔子数列

print(144)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Asucceed

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值