C#解方程

zyh86102373 2011-05-23 11:09:03
求方程 3x-7y=1 在条件下求x的绝对值小于100且y的绝对值小于40下的整数的个数
...全文
290 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingheng907 2011-05-24
  • 打赏
  • 举报
回复
幸亏现在CPU的运算速度越来越快乐,如果是一个人的话,如果数字再大一点的话,会崩掉了。
[Quote=引用 2 楼 kingdom_0 的回复:]
C# code

int count = 0;
for(int i=-99;i<100;i++)
for (int j = -39; j < 40; j++)
{
if(3*i-7*j==1)
{
……
[/Quote]
最初九月雪 2011-05-24
  • 打赏
  • 举报
回复
这个不错
kingdom_0 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 icedmilk 的回复:]

C++过来的人,宁愿复杂一点也不会用两层循环去替代一曾循环
引用 3 楼 kingdom_0 的回复:
引用 1 楼 icedmilk 的回复:

int fun(x, y){
if((1+7*y) %3!=0)
return int.MinValue;
return x=(1+7*y)/3
}

Dictionary<int, int> result = new ....
……
[/Quote]呵呵,以后多多请教.
陌路客 2011-05-23
  • 打赏
  • 举报
回复
int count = 0;
for(int i=-99;i<100;i++)
for (int j = -39; j < 40; j++)
{
if(3*i-7*j==1)
{
count++;
Console.WriteLine("X={0},Y={1}满足条件", i, j);
}
}
Console.WriteLine("一共有{0}组数据满足条件",count);

wangwang1103 2011-05-23
  • 打赏
  • 举报
回复
x值从-100到100遍历,求出y值,然后与y的条件比较,如果符合个数加一。
Icedmilk 2011-05-23
  • 打赏
  • 举报
回复
C++过来的人,宁愿复杂一点也不会用两层循环去替代一曾循环
[Quote=引用 3 楼 kingdom_0 的回复:]
引用 1 楼 icedmilk 的回复:

int fun(x, y){
if((1+7*y) %3!=0)
return int.MinValue;
return x=(1+7*y)/3
}

Dictionary<int, int> result = new ....
for(int i = -39; i<40; i++){
if (fun(i)>-100 &amp……
[/Quote]
kingdom_0 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]

int fun(x, y){
if((1+7*y) %3!=0)
return int.MinValue;
return x=(1+7*y)/3
}

Dictionary<int, int> result = new ....
for(int i = -39; i<40; i++){
if (fun(i)>-100 && fun(i)<100……
[/Quote]呵呵,你把问题复杂化了~
kingdom_0 2011-05-23
  • 打赏
  • 举报
回复

int count = 0;
for(int i=-99;i<100;i++)
for (int j = -39; j < 40; j++)
{
if(3*i-7*j==1)
{
count++;
Console.WriteLine("X={0},Y={1}满足条件", i, j);
}
}
Console.WriteLine("一共有{0}组数据满足条件",count);
Icedmilk 2011-05-23
  • 打赏
  • 举报
回复
int fun(x, y){
if((1+7*y) %3!=0)
return int.MinValue;
return x=(1+7*y)/3
}

Dictionary<int, int> result = new ....
for(int i = -39; i<40; i++){
if (fun(i)>-100 && fun(i)<100){
result.Add(fun(i), i);
}
}
bios8086 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]

int fun(x, y){
if((1+7*y) %3!=0)
return int.MinValue;
return x=(1+7*y)/3
}

Dictionary<int, int> result = new ....
for(int i = -39; i<40; i++){
if (fun(i)>-100 && fun(i)<100……
[/Quote]
貌似这种一层循环 并没有减少什么运算量!而且增加了不必要的内存开销
IT0329 2011-05-23
  • 打赏
  • 举报
回复

110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧