C语言-1-9之间的数组成三个数之比为1:2:3

2018-11-10  本文已影响0人  52_funny
#include <stdio.h>

int main()
{
    int yz(int i,int j,int k); //声明yz函数
    int i,j,k;
    for(i=123;i<=329;i++) //先把三个数找出来在判断是否为1-9内的数(因为最小的三位数为123,最大的三位数987 $329*3=987$)
    {
        j=i*2;
        k=i*3;
        if(yz(i,j,k))
        {
            printf("%d %d %d",i,j,k);
            printf("\n");
        }
    }
    return 0;
}

int yz(int i,int j,int k)  //验证三个数是否为1-9函数
{
    int qs(int i);
    int qm(int i);
    int s=qs(i)+qs(j)+qs(k);
    int m=qm(i)*qm(j)*qm(k);
  if(s==45&&m==362880)//验证三个数是否为1-9,控制两个条件。1-9数之和为45,1-9之积为362880
    return 1;
  else
    return 0;
}
int qs(int i)  //求一个数的各个位之和函数
{
    int s=0;
    while(i!=0)
    {
        s=s+i%10;
        i=i/10;
    }
    return s;
}
int qm(int i)  //求一个数的各个位之积函数
{
    int  s=1;
    while(i!=0)
    {
        s=s*(i%10);
        i=i/10;
    }
    return s;
}
上一篇 下一篇

猜你喜欢

热点阅读