| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 993 人关注过本帖
标题:如何计算出共有多少个数相互之间相交的值都是某定值
只看楼主 加入收藏
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
结帖率:93.33%
收藏
已结贴  问题点数:40 回复次数:7 
如何计算出共有多少个数相互之间相交的值都是某定值
图片附件: 游客没有浏览图片的权限,请 登录注册

说明:附图第一排的1,2,3,4,5,6,7,8,9,10,11,12,13表示1到13的13个数,我编写了如下一段代码,既可以正常输出上图黑框里的数字。

#include <stdio.h>
int main()
{
  int a[6][13]={{5,5,5,5,5,5,5,5,5,5,5,5,5},{5,5,5,5,5,5,5,5,5,5,5,5,5},{5,5,5,5,5,5,5,5,5,5,5,5,5},{8,8,8,8,8,8,8,8,8,8,8,8,8},{5,5,5,5,5,5,5,5,5,5,5,5,5}, {8,8,8,8,8,8,8,8,8,8,8,8,8}};
  int i,j;
  for(i=0;i<6;i++)
      {
         for(j=0;j<13;j++)
            printf("%d ",a[i][j]);
         printf("\n");
        }  
}

接下来的工作就是要计算:A与B相交于C. A就是第一排的1,2,3,4,5,6,7,8,9,10,11,12,13共13个数,C就是我上段代码里可以正常输出的所有数字5和8,B呢。B也是第一排的13个数。
那么如何计算呢?A与B相交于C,就是用第一排的1和B相交,看对应的C值是多少?B和A的关系是相对的,B始终大于A,比如:
1和2相交(这里A=1,B=2)B比A多1,所以就用上图“多1”所在的位置的行和1所在的位置的列相交的数(红5)就是C的值。
1和3相交(这里A=1,B=3)B比A多2,所以就用上图“多2”所在的位置的行和1所在的位置的列相交的数(蓝5)就是C的值。
...
1和7相交(这里A=1,B=7)B比A多6,所以就用上图“多6”所在的位置的行(也就是最后一行)和1所在的位置的列相交的数(8)就是C的值。
1和8相交(这里A=1,B=8)B比A多7,所以就用上图“多7”所在的位置的行(也就是最后一行)和8所在的位置的列相交的数(红8)就是C的值。
1和9相交(这里A=1,B=9)B比A多8,所以就用上图“多8”所在的位置的行和9所在的位置的列相交的数(绿5)就是C的值。
。。。
1和13相交(这里A=1,B=13)B比A多12,所以就用上图“多12”所在的位置的行和13所在的位置的列相交的数(紫5)就是C的值。
就这样1和12个数都相交一次,计算出每个C值。这里就得到了12个值(有值为5 的,也有值为8 的)。这里1和2,3,4,6,9,11,12,13(8个数)相交的值都是5,那么这8个数相互之间相交是不是也都是5呢?在这8个数(2,3,4,6,9,11,12,13)之间又得重复计算A与B相交于C的值的工作。计算如下:
2和3相交(这里A=2,B=3)B比A多1,所以就用上图“多1”所在的位置的行和2所在的位置的列相交的数5就是C的值。
.。。

2和9相交(这里A=2,B=9)B比A多7,所以就用上图“多7”所在的位置的行和9所在的位置的列相交的数8就是C的值。
.。。
就这样不停地计算,直到把这跟1有关的9个数(包括1本身)全部按这种计算方法计算完毕,最后找出共有多少个数相互之间相交的值都是5(或有多少个数相互之间相交的值都是8)。
这道题的最终目的就是:要计算出共有多少个数相互之间相交的值都是5(或都是8)。


搜索更多相关主题的帖子: 计算 多少 个数 相交 位置 
2017-12-25 22:15
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:20 
a b c你标一下位置
2017-12-25 22:28
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
A就是第一排的1,2,3,4,5,6,7,8,9,10,11,12,13共13个数,C就是我上段代码里可以正常输出的所有数字5和8,B呢。B和A一样,也是第一排的13个数。
我都说得很清楚的。
这题叙述起来,文字较多,有点费神。
2017-12-25 22:32
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:0 
你参考一下execl的表述方式吧
2017-12-25 22:37
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
附图就是用execl 建立的。
2017-12-25 22:45
天上的大鱼
Rank: 2
等 级:论坛游民
帖 子:1
专家分:20
注 册:2017-12-26
收藏
得分:20 
excel 解决
2017-12-26 15:02
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
来这就是想用编程的方式解决问题,而不是想用别的方法来解决问题的。
2017-12-27 22:15
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
我写了如下的代码:
#include <stdio.h>
int main()
{
  int a[6][13]={{5,5,5,5,5,5,5,5,5,5,5,5,5},{5,5,5,5,5,5,5,5,5,5,5,5,5},{5,5,5,5,5,5,5,5,5,5,5,5,5},{8,8,8,8,8,8,8,8,8,8,8,8,8},{5,5,5,5,5,5,5,5,5,5,5,5,5}, {8,8,8,8,8,8,8,8,8,8,8,8,8}};
  int i,j,k=1;
  for(i=0;i<6;i++)
      {
         for(j=0;j<13;j++)
            printf("%d ",a[i][j]);
         printf("\n");
        }  
   for(i=0;i<6;i++)
      {
        if(a[0][0]==a[i+1][0])
          {
             k=k+1;
             printf("a[i][0]%d ",i);
          }   
       }
     printf("k=%d\n",k);      
}
原本是想将值为5 的行坐标显示出来,就是:a[0][0],a[1][0],a[2][0],a[4][0].
但是为啥是a[i][0]0,a[i][0]1,a[i][0]3.
本人初学不会改,请教。谢谢!!
2017-12-31 18:06
快速回复:如何计算出共有多少个数相互之间相交的值都是某定值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016156 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved