![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
穷举法
码码搬运工
这个作者很懒,什么都没留下…
展开
-
一个商人有一个质量为40磅的砝码
一个商人有一个质量为40磅的砝码,一天他不小心将砝码摔成了4块。商人发现每块砝码的质量都是整数磅,而且每块砝码的质量各不相同,并且发现这4块砝码碎片可以在天平上称出1—40磅之间的任意质量(整数磅,即1磅,2磅,……)。问这4块砝码碎片的质量各是多少?#include<bits/stdc++.h>using namespace std;int a[4];int b[4];bool c[41];void dfs(int id){ if(id>=4){ int w=0原创 2021-02-28 22:04:56 · 586 阅读 · 0 评论 -
考虑方程式:a^3 + b^3 = c^3 + d^3
考虑方程式:a^3 + b^3 = c^3 + d^3其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数。这个方程有很多解。比如:a = 1,b=12,c=9,d=10 就是一个解。因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729。当然,a=12,b=1,c=9,d=10 显然也是解。如果不计abcd交换次序的情况,这算同一个解。你的任务是:找到所有小于30的不同的正整数解。把a b c d按从小到大排列,用逗号分隔,每个解占用1行。比如,刚才的解输出为:1原创 2021-02-28 22:03:52 · 786 阅读 · 0 评论 -
将1到9这九个数字分成3个三位数a,b,c
将1到9这九个数字分成3个三位数a,b,c,每个数字恰好出现一次,要求a????️c=1:2:3。要求按照"a b c"的格式输出所有解, 每行一个解。#include<bits/stdc++.h>using namespace std;int a[10]={1,2,3,4,5,6,7,8,9};void dfs(int id){ if(id>=9){ int x,y,z; x = a[0]*100 + a[1]*10 + a[2]; y = a[3]*100 +原创 2021-02-23 22:09:14 · 3650 阅读 · 0 评论 -
邮票
某人有5张3分和4张5分的邮票,请编写一个程序,计算由这些邮票中的1张或若干张可以得到多少种不同的邮资,并按照邮资从小到大顺序显示。#include<bits/stdc++.h>using namespace std;map<int,bool> m;int a[10] = {3,3,3,3,3,5,5,5,5};bool b[10]; void dfs(int id,int k){ if(id>=9){ if(1<=k){ int sum=0原创 2021-02-23 22:07:43 · 198 阅读 · 0 评论 -
4排列
设计一个算法求解4排列问题,即输出4个数字1、2、3、4的所有排列。第一种方法next_permutation(a,a+n)函数#include<bits/stdc++.h>using namespace std;int a[5]= {1,2,3,4};int main(){ ios::sync_with_stdio(0); do{ for(int i=0;i<4;i++){ cout<<a[i]; } cout<<endl; }原创 2021-02-23 22:05:51 · 508 阅读 · 0 评论 -
分球
有红、黄、绿三种颜色的球,其中红球3个,黄球3个,绿球6个。现将这12个球混放在一个盒子中,从中任意摸出8个球,编程计算摸出球的各种颜色搭配。#include<bits/stdc++.h>using namespace std;int a[15]={0,0,0,1,1,1,2,2,2,2,2,2}; // 0 红球, 1 黄球 2绿球string name[3]={"红","黄","绿"}; map<string,bool> m;bool b[15];void原创 2021-02-23 21:59:35 · 177 阅读 · 0 评论 -
奇怪的分式(2014年省赛题)
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!原创 2021-02-23 14:42:37 · 100 阅读 · 0 评论 -
猜年龄
小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:小明的较小的妹妹的年龄。#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); for(int i=1;i<100;i++){ //妹妹 for(int j=1+i;j<=i+8;j++){原创 2021-02-23 14:41:48 · 73 阅读 · 0 评论 -
数字分组
将1到9这九个数字分成3个三位数a,b,c,要求第2个三位数是第1个三位数的两倍,第3个三位数是第1个三位数的三倍。用程序求解怎么分。#include<bits/stdc++.h>using namespace std;int a[10]={1,2,3,4,5,6,7,8,9};void dfs(int id){ if(id>=9){ int x,y,z; x=a[0]*100+a[1]*10+a[2]; y=a[3]*100+a[4]*10+a[5]; z=a原创 2021-02-22 21:48:00 · 694 阅读 · 0 评论 -
完数
完数:如果一个数恰好等于除它本身外的所有因子之和,则这个数就称为完数。例如:6的因子是1、2、3,且6=1+2+3,所以6是完数。试求1000以内所有的完数并输出。#include<bits/stdc++.h>using namespace std;int get(int n){ int sum =0 ; for(int i = 1;i<n;i++){ if(n % i == 0){ sum +=i; } } return sum;}int main(原创 2021-02-22 21:47:01 · 1086 阅读 · 0 评论 -
水仙花数
水仙花数:打印所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是“水仙花数”,因为153=111+555+333。#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); for(int i = 1;i<10;i++){ for(int j=0;j<10;j++){ for(int k=0;k<10;k+原创 2021-02-22 21:46:12 · 82 阅读 · 0 评论 -
海盗比酒量(2012年省赛题)
海盗比酒量(2012年省赛题):有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复… 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“…昨天,我正好喝了一瓶…奉劝大家,开船不喝酒,喝酒别开船…”请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。如果有多个可能的答案,请列出所有答案,每个答案占一行。格式是:原创 2021-02-22 21:45:05 · 345 阅读 · 0 评论 -
韩信点兵
韩信有一队兵,他想知道有多少人,便让士兵排队报数。按从1到5报数,最末一个士兵报的数是1;按从1到6报数,最末一个士兵报的数是5;按从1到7报数,最末一个士兵报的数是4;最后再按从1到11报数,最末一个士兵报的数是10。你知道韩信至少有多少兵吗?#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); for(int i=0;;i++){ if(i%5==1 &&原创 2021-02-22 15:16:04 · 1030 阅读 · 0 评论 -
六角填数(2014年省赛题)
2014年省赛真题7、标题:六角填数如图【1.png】所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。#include<bits/stdc++.h>using namespace std;int a[12]= {1,8,0,0,\ 0,0,0,0,\ 0,0,0,3};int b[9]={2,4,5,6,7,9,10,11,12};bool原创 2021-02-22 15:14:43 · 306 阅读 · 0 评论 -
寻找三位数
625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); for(int i = 100;i<=999;i++){ if( (i * i) % 1000 == i){ cout<<i<<endl; } } return原创 2021-02-22 15:09:50 · 500 阅读 · 0 评论 -
百钱买百鸡问题
鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁,鸡母,鸡雏各几何?编程列出所有可能的购鸡方案。#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); for(int i = 0 ;i <=20;i++){ for(int j = 0; j <=33;j++){ int k = 100 - i - j; if(k % 3 ==0 &原创 2021-02-22 15:08:08 · 92 阅读 · 0 评论