将数字1~10组成一个三角形,每个数字只出现一次,三角形每天边上的数字加起来相等,用c语言写出程序 将1~10这十个数字填入十个小三角形内,要使每四个大三角形(...

www.zhiqu.org     时间: 2024-05-25
#include<stdio.h>

int main(){
    int a[9];
    int a1,b1,c1;
    int a2,b2,c2;
    int a3,b3,c3;
    for(a1=1;a1<=10;a1++)
    for(b1=1;b1<=10;b1++)
    for(c1=1;c1<=10;c1++)
    for(a2=1;a2<=10;a2++)
    for(b2=1;b2<=10;b2++)
    for(c2=1;c2<=10;c2++)
    for(a3=1;a3<=10;a3++)
    for(b3=1;b3<=10;b3++)
    for(c3=1;c3<=10;c3++){
        int t1 =
        (b1!=a1)&&
        (c1!=a1 && c1!=b1)&&
        (a2!=a1 && a2!=b1 && a2!=c1)&&
        (b2!=a1 && b2!=b1 && b2!=c1 && b2!=a2)&&
        (c2!=a1 && c2!=b1 && c2!=c1 && c2!=a2 && c2!=b2) &&
        (a3!=a1 && a3!=b1 && b3!=c1 && a3!=a2 && a3!=b2 && a3!=c2) &&
        (b3!=a1 && b3!=b1 && b3!=c1 && b3!=a2 && b3!=b2 && b3!=c2 && b3!= a3)&&
        (c3!=a1 && c3!=b1 && c3!=c1 && c3!=a2 && c3!=b2 && c3!=c2 && c3!= a3 && c3!=b3);
        int t2 = ((a1+b1+c1) == (a2+b2+c2)) && ((a1+b1+c1)==(a3+b3+c3));
        if(t1 && t2){
            printf("%d %d %d%d %d %d%d %d %d
",a1,b1,c1,a2,b2,c2,a3,b3,c3);      
        }
    }
    getchar();
    return 0;
}

 



//计算随意多个数字的方案:

#include <stdio.h>

int issame(int *a,int n)
{
    int i,j;
    for (i = 0; i<n; i++) {
        for (j=i+1;j<n;j++) {
            if (a[i]==a[j]) return 1;
        }
    }
    return 0;
}
int isok(int *a,int n)
{
int s1=0,s2=0,s3=0;
int i;
for (i = 0; i<=n/3; i++) {
s1+=a[i];
}
for (i=n/3; i<=n/3*2; i++) {
s2+=a[i];
}
if (s1!=s2) return 0;
for (s3=a[0],i=n/3*2; i<n; i++) {
s3+=a[i];
}
return s1==s3?1:0;

}
void outputp(int *a,int cnt)
{
int i;
for (i = 0; i<cnt; i++) {
printf("%d ",a[i]);
}
putchar('
');
}
void dgf(const int *a,const int cnt,int *ap,int cntp,int n)
{
int i;
if (ap==NULL) {
ap=a;
cntp=cnt;
}
if (cntp)
for (i=1; i<=n; i++) {
*ap=i;
dgf(a,cnt,ap+1,cntp-1,n);
}
else if (!issame(a,cnt)&&isok(a,cnt)) {
 outputp(a,cnt);
 }
}

int main(void)
{
int a[9];
//输出每条边上有4个数字(共9个数字),并且每个数字在[1,10]区间内的情况
dgf(a,9,0,0,10);
//输出每条边上有3个数字(共6个数字),并且每个数字在[1,7]区间内的情况
dgf(a,6,0,0,7);
return 0;
}


请问一下1到10如何写到一个三角形上

把数字1到9分别填入下图o中每个数字只一次使三角形三条边上的数字之和相等~

1到9的和是45, 三角形每条边上的4个圆圈里数的和都是17 3×17=51 有三个数是重复计算了的。
51-45=6 6可以有1+2+3组成,1、2、3 被重复计算,1、2、3应置于顶点。其余的数就用于凑17了。
-----①--
----⑥---⑤
--⑦-------⑨
-③--④-⑧--②
按边分
1、不等边三角形;不等边三角形,数学定义,指的是三条边都不相等的三角形叫不等边三角形。
2、等腰三角形;等腰三角形(isosceles triangle),指两边相等的三角形,相等的两个边称为这个三角形的腰。等腰三角形中,相等的两条边称为这个三角形的腰,另一边叫做底边。两腰的夹角叫做顶角,腰和底边的夹角叫做底角。


是这个样子吧。


#蓝滕红# 将0,1,2,3,4,5,6,7,8,9分别填入图中的十个圆圈内(每个数只填一次),使得各个阴影三角形的三个 -
(13478231838): 本题有两种三角形: 一、每顶点上的一个圆圈和顶点的每一边的一个圆圈组成的三角形,共三个; 二、中间的一个圆圈和一边上的两个圆圈组成的三角形,共三个; 顶点上的三个三角形的9个圆圈和中间的1个圆圈用的10个数字是不重复的,...

#蓝滕红# 把数字123456排成一个三角形,三角形每条边上的数字加起来相等,每个数只出现一次,用c语言写出程 -
(13478231838): 你可以先在纸上画出你要的图案,再算出空格和数字,位置的关系,编写for循环就ok

#蓝滕红# 把数字1到9分别填入下图o中每个数字只一次使三角形三条边上的数字之和相等 - 作业帮
(13478231838):[答案] 1到9的和是45, 三角形每条边上的4个圆圈里数的和都是17 3*17=51 有三个数是重复计算了的 51-45=6 6可以有1+2+3组成 1、2、3 被重复计算,1、2、3应置于顶点.其余的数就用于凑17了. -----①-- ----⑥---⑤ --⑦-------⑨ -③--④-⑧--② 填法2 -----...

#蓝滕红# 有1~10十个数字,每个数字只能用一次,组成x+x+x/x+x+x=x+x/x+x -
(13478231838): 1+2+8/4+5+9=7+6/3+10 答案不唯一

#蓝滕红# 将0,1,2,3,4,5,6,7,8,9分别填入图中的十个圆圈内(每个数只填一次),使得各个阴影三角形的三个顶点处的圆圈内所填数之和都相等.则A处的圆圈内所有可以... - 作业帮
(13478231838):[答案] 本题有两种三角形:一、每顶点上的一个圆圈和顶点的每一边的一个圆圈组成的三角形,共三个;二、中间的一个圆圈和一边上的两个圆圈组成的三角形,共三个; 顶点上的三个三角形的9个圆圈和中间的1个圆圈用的10个数字...

#蓝滕红# 一年级数学题,把0123456789十个数字填在方格里 每个数字只能与一次 -
(13478231838): ( 5)—(0 )=(6 )—( 1)=(7 )—(2 )=(8 )—(3 )=(9 )—(4 )

#蓝滕红# 把0.1.2.3.4.5.6.7.8.9十个数字填在()里,使等式成立.(每个数字只用一次) () -
(13478231838): (1)-(0)=(3)-(2)=(5)-(4)=(7)-(6)=(9)-(8)=1

#蓝滕红# 请你把0,1,2,3,4,5,6,7,8,9这十个数字填到括号里,组成三道等式.每个数字只能用一次.()+()=() () - ()=() ... -
(13478231838): 8-7=13+6=94*5=20

#蓝滕红# 10.将0,1,2,3,4,5,6分别填入圆圏和方格内,每个数字只出现一次,组成只有一位数和两位数的整数算式 -
(13478231838): 3*4=12=60/5