1)ABC+AB=BC0
请问ABC分别表示几?(整数)2)现在有商品订单表,包括:订单号,客户名,订购日期,送货地址,总金额
以及订单明细表,包括:序号,商品名称,数量,单价
请设计表结构,并生成对应的java对象
描述新增订单,修改订单,删除订单的操作逻辑3)接上面一题,用HQL语句写出,购买Iphone多于3台的订单号
用HQL语句写出,名优订单明细的订单号
用HQL语句写出,订单明细中存在相同商品名称的订单号
请问ABC分别表示几?(整数)2)现在有商品订单表,包括:订单号,客户名,订购日期,送货地址,总金额
以及订单明细表,包括:序号,商品名称,数量,单价
请设计表结构,并生成对应的java对象
描述新增订单,修改订单,删除订单的操作逻辑3)接上面一题,用HQL语句写出,购买Iphone多于3台的订单号
用HQL语句写出,名优订单明细的订单号
用HQL语句写出,订单明细中存在相同商品名称的订单号
结果就是A=B=3,C=7;
2:2题和3题不会做了,没怎么学过,HQL什么东西都不知道
商品表:商品id,商品名称,商品类别
类别表:类别id,类别名称
客户表:客户id,客户姓名
订单表:订单id(号),客户id(名),订购日企,送货地址,总金额
订单明细表:订单id(号),商品(id)名称,单价,数量如果细化,就是这些。
public static void main(String[] args){
int a,b,c;
for(a=1;a<=9;a++){
for(b=1;b<=9;b++){
for(c=0;c<=9;c++){
if(a*100+b*10+c+a*10+b==b*100+c*10){
System.out.println("a="+a+";b="+b+";c="+c);
}
}
}
}
}}写个代码跑一下就出来了
a=3;b=3;c=7
A = B && B + C = 10
这个纯粹靠穷举得来的
B+A+1=C B+A+1=C
A=B A+1=B
解得 C=7 A=B=3 无解
->{ B+C=10;
A+B+1=10+C;
A+1=B;
}
A=6;B=7;C=3
假设你有两个实体类,订单Order,订单明细Order_detail;String HQL="From Order as o,Order_detail as od where o.orderId=od.orderId and od.name="iphone" and od.num>3"
public static void main(String[]args)
{
for(int a=0;a<10;a++)
{
for(int b=0;b<10;b++)
{
for(int c=0;c<10;c++)
{
if((a*100+b*10+c+a*10+b)==(b*100+c*10))
{System.out.println("a b c 三个数字为:"+a+' '+b+' '+c);}
}
}
}
}}
run-single:
a b c 三个数字为:0 0 0
a b c 三个数字为:3 3 7
BUILD SUCCESSFUL (total time: 0 seconds)
2)
CREATE TABLE t_order (
t_id int(11) NOT NULL AUTO_INCREMENT,
t_course_name varchar(50),
t_create_date timestamp NOT NULL,
t_adr char(100),
t_total_price double(9,2), PRIMARY KEY (t_id)
) ;
CREATE TABLE t_item (
t_id int(11) NOT NULL AUTO_INCREMENT,
t_product_name varchar(50) NOT NULL,
t_unit_price double(9,2) NOT NULL,
t_amount int(11) NOT NULL,
t_order_id int(11) NOT NULL,
PRIMARY KEY (t_id)
)
java对象可用myeclipse自带的hibernate工具自动生成,自己写的话不费脑力费体力。因为是一对多,所以要在一方加上Set<Item> items;配置文件
<set name="items" cascade="save-update">
<key column="t_order_id"/>
<one-to-many class="Item"/>
</set>新增订单:
session.save(order);
删除订单:
session.delete(order);3)selete orderId from item i where i.proname="Iphone" and i.amount>3.
.............
.............
B+A+1=10x+C
A+x=B
因为A和B都是个位数,所以x只能是1或0。
分别假设x是0或1,得到两个三元一次方程组。
当x是1时,没有整数解。
当x是0时,A=B=3,C=7.满足A、B、C是一位整数的条件。2、3题不感兴趣,略过。
int main()
{
int a = 100;
int b;
int c;
while(1)
{
int b = a / 10;
int c = a % 100;
if(a + b == c * 10)
break;
a++;
}
cout << a << endl;
return 0;
}
for(int A = 0;A <= 9;A++)
{
for(int B = 0;B <= 9;B++)
{
for(int C = 0;C <= 9;C++)
{
if((A*100+B*10+C) + (A*10+B) == (B*100+C*10))
{
System.out.println("A:"+A+" B:"+B + " C:"+C);
}
}
}
}
A+B=C+10 B+C=O A+1=B 简化就可以得出 B=(11+O)/3 然后试下O =1 4 7 可以得出 最后O =7 由此可以得出A=5 B=6 C=1 O=7
ABC+AB=BCO ====> 561+56=617
BCO == 617 ?ABC=000
ABC=337
思路:
1.根据ABC+AB=BC0可以得出
1)C+B=10 (完全可以确定)
2)B+A+1=C 或者B+A+1=10+C
由于现在出现了两种情况,我们分类讨论了:
假如:B+A+1=C(即没有进位) 可以推出 3) A+0=B;再根据1)和2)可以推出9=2B+A 所以A=B=3 C=10-3=7
假如:B+A+1=10+C(即有进位) 可以推出 4) A+1=B; 再根据1)和2)可以推出2C=A+1=B再1)得 C=10/3
由于是分数,与题不符,故舍去。
所以得出B=A=3,C=7。
A = 7
B = 8
C = 6
HQL是hibernate的东东,语法什么的跟sql差不多
void abc()
{
int a, b, c;
int tof = 0; for(c = 1; c < 10; c++)
{
b = 10 - c; for(a = 1; a < 10; a++)
{
if(c == (a + b) % 10 + 1)
{
if(b == a + 1)
{
tof++;
break;
}
else if(b == a)
{
tof++;
break;
}
}
} if(tof > 0)
{
printf("A:%d\tB:%d\tC:%d\n", a, b, c);
break;
}
}
}
+ A B
---------
B C 0可得信息:
1. C + B = 10
2. B + A = 10 + C (此处较为片面,假设了 B + A 一定大于10了)
3. A + 1 = B ( 同#2,B + A后进位)这就很简单了,一个三元一次方程组,初中生就可以解出来。
由#3 ==> A = B -1 (#4)
将#4代入#2得到: 2B - 1 = 10 + C (#5)
由#1 ==> C = 10 - B (#6)
将#6代入#5 可求得 B = 7,然后 A,C也就出来了* Again, 这只是一组解哈