zzulioj1148: 组合三位数之一
1148: 组合三位数之一
题目描述
把1、2、3、4、5、6、7、8、9组合成3个3位数,要求每个数字仅使用一次,使每个3位数均为完全平方数。按从小到大的顺序输出这三个三位数。
输入
无
输出
按从小到大的顺序输出这三个三位数,由空格隔开,结果应该为
361 529 784
说明
完全平方数指的是:一个数可以表示成某两个数的乘积,且这两个数相同 例如x=a*a ,那么称这个数为完全平方数
代码
#include<stdio.h>
#include<math.h>
int PanDuan(int a,int b,int c); //判断组成三个数的数字是否存在重复
int main()
{int i,j,k,x,n,num[20],t=0;for(i=1;i<=9;i++)for(j=1;j<=9;j++)for(k=1;k<=9;k++){if(i==j||i==k||j==k) //不允许数字重复使用continue; //重复了就结束本次循环n=i*100+j*10+k; //组成的三位数 x=sqrt(n);if(x*x==n) //为真说明这个三位数是完全平方数,将其存入数组 num[t++]=n; }//遍历数组,找出不重复的一组完全平方数for(i=0;i<t;i++)for(j=i;j<t;j++)for(k=j;k<t;k++){if(PanDuan(num[i],num[j],num[k])) //如果三个数由不重复的数字组成,输出printf("%d %d %d\n",num[i],num[j],num[k]); } return 0;
}int PanDuan(int a,int b,int c)
{int i,digit[10]={0};while(a){i=a%10; //x代表其最后一位digit[i]++; a/=10;}while(b){i=b%10;digit[i]++;b/=10;}while(c){i=c%10;digit[i]++;c/=10;}for(i=1;i<=9;i++){if(digit[i]!=1) //不是1说明存在重复的数字return 0; }return 1;
}
zzulioj1148: 组合三位数之一相关推荐
- 详细代码注释1148: 组合三位数之一
题目描述 48: 组合三位数之一 时间限制: 1 Sec 内存限制: 128 MB 提交: 5197 解决: 3705 把1.2.3.4.5.6.7.8.9组合成3个3位数,要求每个数字仅使用一次,使 ...
- 1148: 组合三位数之一 C语言
1148: 组合三位数之一 时间限制: 1 Sec 内存限制: 128 MB 提交: 4056 解决: 2880 [状态] [讨论版] [提交] [命题人:admin] 题目描述 把1.2.3.4.5 ...
- ZZULIOJ 1149: 组合三位数之二
题目描述 把1,2,3,4,5,6,7,8,9,组成三个三位数(每个数只能用一次),第二个数是第一个数的2倍,第三个数是第一个数的3倍,这三个三位数各是多少?答案可能有很多组,请按第一个数的升序顺序输 ...
- C语言数组练习-组合三位数
要求:将0到9这十个数字分成三个3位数,要求第一个3位数,正好是第二个3位数的1/2,是第三个3位数的1/3.问应当怎样分,编写程序实现. #声明:本代码思路较为简单,但书写复杂请酌情参考. ---- ...
- ZZULIOJ 1148: 组合三位数之一
题目描述 把1.2.3.4.5.6.7.8.9组合成3个3位数,要求每个数字仅使用一次,使每个3位数均为完全平方数.按从小到大的顺序输出这三个三位数. 输入 无 输出 按从小到大的顺序输出这三个三位数 ...
- 组合三位数c语言第八周,C语言教案-第八周教学提纲.doc
第八节 数组 --一维数组 1:通过对本节课的学习,能够了解.掌握有关数组的相关概念及一维数组定义.初始化.引用和在程序中使用. 1.1教学目的: 1. 数组的相关概念 2. 一维数组的定义.初始化. ...
- 7-88 组合成最小的三位数
7-88 组合成最小的三位数 输入一个三位数的正整数,将数字位置重新排列,组成一个尽可小的三位数. 输入格式: 输入一个三位的正整数. 输出格式: 输出组合之后最小的三位值正整数. 输入样例: 315 ...
- python数字组合算法_python - 简单算法题 - 求三位数组合
求三位数组合 lst = [3, 6, 2, 7] 这四个数字能组成多少个互不相同且无重复数字的三位数?比如362算一个,326算一个,请逐个输出他们 思路分析 从4个数里面取3个数,且不重复,然后进 ...
- Python如何实现将四位数字组合成一个不重复的三位数,for循环暴力解法
Python如何实现将四位数字组合成一个不重复的三位数,for循环暴力解法 周末的时候遇到一个题目,看似很简单,但是在当时考试的情况下来说,我误判了,我没有把握好时间,导致我后面时间很紧,没有时间去思 ...
最新文章
- 几则与西门子相关的消息
- python控制命令行光标位置_python实现cli命令行的进度条光标滚动显示效果
- 来试试读论文的新神器!AMiner发布“论文背景文献”一键生成工具,帮你搞清一篇论文的“来龙去脉”...
- Spring Cloud微服务笔记(四)客户端负载均衡:Spring Cloud Ribbon
- 【Python3网络爬虫开发实战】1.6.2-Tornado的安装
- 关于input样式的一些技巧
- React 小案例 路由跳转
- 使用dmidecode获取常用的硬件信息
- w8fuckcdn 通过扫描全网绕过CDN获取网站IP地址
- 对百度百科SSL证书的解读
- 微软官网win10系统下载地址
- 如何选择APP的推广渠道?
- altera Cyclone V再认识
- 方框加对勾怎么输入_Word怎么输入对号和方框对勾
- A股:我要加区块链,监管:你可消停会
- 微贷网java高级开发工程师
- python调用oracle
- 阿里巴巴直播防控中的实人认证技术 1
- 微信公众号开发,报错{errcode:41005,errmsg:media data missing hint:}的解决办法---亲测有效
- 通过“三秒法则”告别拖延,成为行动派