C++穷举法题进阶

废话不多说,直接上题目

我把以前不会的题解决掉 

骑士的金币( coin
#include<iostream>
using namespace std;
int main()
{
	int num=1;
	int sum=0;
	int day=0;
	int n;
	cin>>n;
	for(int i=0;true;i++)
	{
		for(int j=0;j<1+i*1;j++)
		{
			sum=sum+num;
			day++;
			if(day==n)
			{
				cout<<sum;
				return 0;
			}
		}
		num++;
	}
	return 0;
} 
小鱼的航程
#include<iostream>
using namespace std;
int main()
{
    int n,ans=0;
    int x;
    cin >> x >> n; 
    for(int i=0;i<n;i++)
    {
        if((x!=6)&&(x!=7)) 
{
            ans += 250; 
} 
       if(x==7) 
{
        x=1; 
 }
       else 
{
            x++;
} 
    }
    cout << ans;
    return 0;
}
小兔子的最大活动面积
不会
门票的定价
不会
费马定理
不会
纸盒的最大体积是多少?
#include <iostream>
using namespace std;
int main() 
{
    int n,max=-1,m=0,chicun=0,tiji=0;
    cin>>n;
    while(true)
    {
    	tiji=(n-2*chicun)*(n-2*chicun)*chicun;
    	if(tiji>max)
    	{
    		max=tiji;
    	}
    	chicun=2*m;
    	if(n-2*m<=0)
    	{
    		break;
    	}
    	m++;
    }
    cout<<max/4;
    return 0;
}
需要举办多少场足球赛?
#include <iostream>
using namespace std;
int main() 
{
    int n,m=1,k=0,i=0;
    cin>>n;
    while(m!=n)
    {
    	k=n-m;
    	m++;
    	i=i+k;
    }
    cout<<i;
    return 0;
}
队形数量求解
#include <iostream>
using namespace std;
int main()
{
	long long m,n,num=0;
	cin>>m>>n;
	long long s = m*n;
	for(int i=2;i<=s;i++)
	{
		if(s%i==0)
		{
			num++;
		}
	}
	cout<<num-1;
	
	return 0;
}
四个人的年龄求解
#include<iostream>
using namespace std;
int main()
{
	int x,a,b,c,n;
	int sum=0;
	for(int i=1;i<7;i++)
	{
		for(int j=0;j<4;j++)
		{
			a=i+j;
			b=a+j;
			c=b+j;
			int e=i+a+b+c;
			int ep=i*a*b*c;
			if(e==26&&ep==880)
			{
				cout<<i<<' '<<a<<' '<<b<<' '<<c<<endl;
			}
		}
	}
	return 0;
}
求数列的第 n 项的值是多少?
不会
回文数
不会
猴子吃桃子
#include<iostream>
using namespace std;
int main()
{
    int day,x,kx;
    day=9;
    kx=1;
    while(day>0)
    {
    	x=(kx+1)*2;
    	kx=x;
    	day--;
    }
    cout<<x;
	return 0;
}
统计出边长为整数,周长为 L 的不是等边三角形的个数
#include<stream>
int main()
{
int a,b,c,L;
int count=0;
for(a=1;a<=L-2;a++)
{
    for(b=1;b<=L-a-1;b++)
    {
        c=L-a-b;
        if(a+b>c && a+c>b && b+c>a)
        {
            if(a==b && a==c)
                continue;
            else if(a==b || a==c || b==c)
                count=count+2;
            else
            count++;
             
        }
    }
}
count=count/6;
printf("%d\n",count);
}
寻找 2 的幂
include <iostream>

using namespace std;

int main()

{int x,x1;

cin>>x;

x1=x;

while(!(x1&1))x1>>=1;

if(x1==1)

cout<<x<<"是2的整数次幂"<<endl;

else

cout<<x<<"不是2的整数次幂"<<endl;

return 0;

}
小青蛙回来了
#include<iostream>
#include<stdio.h>
using namespace std;
int a,b,c,s;
int main()
{
	cin>>a>>b>>c;
	for(int i=1; ;i++)
	{
		s+=a;
		if(s>=c)
		{
		printf("%d",i);
		return 0;
		}
		else
		s-=b;
	}
	return 0;
}
n 拆成 3 个数的和
不会
三色球问题
#include<iostream>

using namespace std;

int main()

{

int R,W,B;

int i=0;

for(R=0;R<=3;R++)

{

for(W=0;W<=3;W++)

{

for(B=2;B<=6;B++)

{

if(8==R+W+B)

{

++i;

cout<

cout << "红色:"<< R<< ",白色:"<< W<< "黑色:"<< B<< endl;

}

}

}

}





return 0;

}
马虎的算式
#include<iostream>
using namespace std;
int main()
{
    int n,m,i=0;
for(int a=1;a<10;a++)
{
for(int b=1;b<10;b++)
{
for(int c=1;c<10;c++)
{
for(int d=1;d<10;d++)
{
for(int e=1;e<10;e++)
{
n=(a*10+b)*(c*100+d*10+e);
m=(a*100+d*10+b)*(c*10+e);
if(n==m&&a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)
i++;
}
}
}
}
}
    cout<<i;
    
	return 0;
}
借书方案知多少
#include <iostream>



using namespace std;


int main()
{
    int a,b,c;
    int sum=0;
    for (a=1;a<5;a++)
    {
        for (b=1;b<5;b++)
        {
            for (c=1;c<5;c++)
            {
                if (a!=b&&a!=c&&b!=c)
                    {
                        sum+=1;
                        cout<<sum<<":"<<a<<" "<<b<<" "<<c<<endl;
                    }
            }
        }
    }
    return 0;
}
分数之和
不会
质因子
# include<iostream>

using namespace std;
int main()
{
int num;
cin >> num;
for (int i = 2; i <= num; i++)
{
	while (num % i == 0)
	{
		cout << i << ' ';
		num = num / i;
	}
}
}
贝贝的选择
include<iostream>
using namespace std;
int main()
{
    int n,i,x,b,c,t=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        b=i;
        while(b!=0)
        {
            c=b%10;
            b=b/10;
            if(c==6) t++;
        }
    }
    if(t%2==0){  
    	cout<<"playground";
	}else{
		cout<<"library";  
	}
    return 0;
}

有哪些闰年
#include<iostream>
using namespace std;
int main()
{
	int sum,n;
	cin>>n;
	sum=0;
	for(int i=1900;i<=n;i++)
	{
		if(i%4==0&&i%100!=0)
		{
			sum++;
		}
		if(i%400==0)
		{
			sum++;
		}
	}
	cout<<sum;
	return 0;
}
同构数
不会
数列求和 
#include<iostream>
using namespace std;
int main()
{
	int n,h=0,x=1,m=3;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		h=h+x;
		x=x+m;
		m=m+2;
	}
	cout<<h;
	return 0;
}

计算分数加减表达式的值
#include<iostream>
 
using namespace std;
 
int main()
{
	
	double s = 0;
	
	double n, sign = 1;
	
	cin >> n;
	
	for(int i = 1; i <= n; i ++)
	{
		
		s += sign * 1 / i;
		
		sign = - sign;
		
	}
	
	cout << fixed << setprecision(4) << s;
	
	return 0;
	
}
n 拆成 2 个数的乘积
不会
n 拆成 2 个数的和不会
子数整除不会
随机体能测试
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
	int n,x,i,s=0;
	cin>>n>>x;
	for(int i=0;i<=n;i++)
	{
		int a=i;
		while(a!=0)
		{
			int t=a%10;
			if(t==x)
			{
				s++;
			}
			a=a/10;
		}
	}
	cout<<s;
	return 0;
}
任意输入一正整数 N ,要求把它拆成质因子的乘积不会
人口增长问题 不会
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值