算法竞赛入门

该C程序用于查找123到329之间所有满足特定数字排列条件的整数。它使用自定义函数`kkk`检查给定数字的每一位是否出现一次,如果满足条件则打印该数字的2倍和3倍。程序通过循环和条件判断实现这一逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2-6排列

#include<stdio.h>
#include<string.h>

int kkk(int n)
{
    int j, a[]={1,0,0,0,0,0,0,0,0,0};
    for ( j=n%10; n; n=n/10, j=n%10)
    {
        if (a[j]==0)
            a[j]++;
        else
            return 0;
    }
    return 1;
}
int main()
{
    int i;
    for ( i=123; i<330; i++)
    {
        if (kkk(i*1000000+2*i*1000+3*i))
            printf("%d %d %d\n", i, 2*i, 3*i);
    }
    return 0;
}

//, j, flag, n, a[10];
//    char a[9];
/*
//        memset( a, 0, sizeof(a));//
//        sprintf( a, "%d%d%d", i, 2*i, 3*i);//
//        if (strlen(a)==9)
        //a[10]={1,0,0,0,0,0,0,0,0,0};//利用自定义函数
        flag = 1;
        n = i*1000000+2*i*1000+3*i;
        for ( j=n%10; n; n=n/10, j=n%10)
        {
            if (a[j]==0)
                a[j]++;
            else
            {
                flag=0;
                break;
            }
        }
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值