1148: 组合三位数之一
来源:互联网 发布:哪里买高仿手表知乎 编辑:程序博客网 时间:2024/06/08 15:33
1148: 组合三位数之一
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 982 Solved: 665
SubmitStatusWeb Board
Description
把1、2、3、4、5、6、7、8、9组合成3个3位数,要求每个数字仅使用一次,使每个3位数均为完全平方数。按从小到大的顺序输出这三个三位数。
Input
无
Output
按从小到大的顺序输出这三个三位数,由空格隔开。输出占一行。
Sample Input
Sample Output
HINT
Source
#include<iostream>using namespace std;int main (){ int tem = 0 ; int tval[3] = {0} ; int a[21][3] = {0} ; //32-11=21 int n = 0 ; int itest[9] = {0}; for (int i=11;i!=32;i++) { tem = i * i ; for (int j=2;j>=0;j--) //反转使得个位数在数组的末位 { tval[j]= tem % 10;tem /=10; } if (tval[0]==tval[1] || tval[1]==tval[2] || tval[0]==tval[2]) continue; //满足if时继续执行两个for语句,直到检索出个、十、百位为不同的三位数 //不满足if时执行continue以下的语句 a[n][0] = tval[0];a[n][1] = tval[1];a[n][2] = tval[2]; n++; //不满足if的三位数的个数 } /* for ( i=0 ; i!=n ; i++){ cout<<a[i][0]<<a[i][1]<<a[i][2]<<endl;}*/ //检索满足题意的三组数,从1,2,3,4,5,6,7,8,9中每个数只能使用一次 for (int k=0 ; k!= n-2 ; k++) { for (int t=k+1 ; t != n-1 ; t++) { for (int m=t+1 ; m != n; m++) { itest[ a[k][0] - 1 ] = 1; itest[ a[k][1] - 1 ] = 1; itest[ a[k][2] - 1 ] = 1; itest[ a[t][0] - 1 ] = 1; itest[ a[t][1] - 1 ] = 1; itest[ a[t][2] - 1 ] = 1; itest[ a[m][0] - 1 ] = 1; itest[ a[m][1] - 1 ] = 1; itest[ a[m][2] - 1 ] = 1; for (int i=0;i<9;i++) { if (itest[i] != 1)//漏掉结果使得不等于一break; //终止循环从头再来 if ( i==8 ) //循环到i==8,说明找到了满足题意的三组数{cout<<a[k][0]<<a[k][1]<<a[k][2]<<" "<<a[t][0]<<a[t][1]<<a[t][2]<<" "<<a[m][0]<<a[m][1]<<a[m][2]<<endl;} } for (int j=0 ; j!=9 ; j++) //使得运行出来的所有结果个十百位属于1~9个数当中的三个 { itest[j]=0; //运行出来的置为0 } } } }return 0;}
#include<stdio.h> //暴力法检索出所有的三位数#include<math.h>int a[100] ;#define N 10void sanwei (){ int i,j,k; for (i=1;i<N;i++) { int first=i; for (j=1;j<N;j++) { if (j==i) continue; first*=10; first+=j; for (k=1;k<N;k++) { if (k==i || k==j)continue; first*=10; first+=k; int it=(int)sqrt(first); if ( it*it==first ) { printf("%d ",first); } first-=k; first/=10; } first-=j; first/=10; } }}int main (){sanwei(); return 0;}
阅读全文
0 0
- 1148: 组合三位数之一
- 1148: 组合三位数之一
- zzuli 1150: 组合三位数之一(函数专题)
- C语言 - 三位数组合问题
- python组合无重复三位数
- 1149: 组合三位数之二
- 1149: 组合三位数之二
- 三位数
- 三位数
- 设计模式之一:组合模式
- 1,2,3三个数字组合成三位数,每位数字不同
- java从1,2,3,4中组合最大三位数切不重复
- 1-9九个数字不重复组成一个三位数加法算式,求出所有组合
- 1-9九个数字不重复组成一个三位数加法算式,求出所有组合
- MOOC清华《程序设计基础》期末考试第4题:求三位数的组合
- UART之一:读写操作及package组合
- 三位数 水仙花
- 三年,三位数!
- Joda-Time 操作常用时间函数
- 虚拟机可以ping同宿主机,宿主机ping不通虚拟机
- bootstrap尝试用法
- linux中crond服务与crontab用法详解
- Vue2.0的改变
- 1148: 组合三位数之一
- Spark获取某个手机号在某个基站下停留的时间和当前手机所在的位置的案例
- ubuntu下修改mysql数据库root密码
- HDU2181:哈密顿绕行世界问题(DFS) (C)
- java数组基础
- 更改websotrm的配置
- 400. Nth Digit
- Spring Aop 初探(3)
- HTML知识点