找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍 例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*1

来源:互联网 发布:闪电分期go淘宝商铺 编辑:程序博客网 时间:2024/06/08 17:12

找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍
例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*142857,因此142857是Troitsky数
编程要求:
(1) 编写函数int Troitsky(long a[]),其功能是求出10000以内的所有Troitsky数,并将它们依次放入a指向的数组中,函数返回找到的Troitsky数的个数.
(2)编写main函数,调用Troitsky函数,将运行结果输出到屏幕。

//main.c//author:yangyang#include "stdafx.h"#include "head.h"#define N1 11#define N2 10000000int Troitsky();int main(){    printf("\n一共%d个\n", Troitsky());    return 0;}int Troitsky(){    printf("Troitsky数为:");    int number = 0;    for (long int i = N1; i < N2; i++)    {        long int changed_num = integer_front_to_back(&i);        if (changed_num == i * 3)        {            number++;            printf("%d ", i);        }    }    return number;}

结果如图
这里写图片描述

0 0
原创粉丝点击