【C编程】找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍
2017-05-01 12:53
393 查看
/*找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍 例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*142857,因此142857是Troitsky数 编程要求: (1) 编写函数int Troitsky(long a[]),其功能是求出10000以内的所有Troitsky数,并将它们依次放入a指向的数组中,函数返回找到的Troitsky数的个数. (2)编写main函数,调用Troitsky函数,将运行结果输出到屏幕。 */ #include <stdio.h> int juge_Troitsky(long m) { int temp = m; //取出m最高位的数 int count = 1; //数出m的最高位 long m_change = 0; //存放m变换后的数值 int flag = 0; while(temp > 10) { temp = temp/10; count = count*10; } m_change = (m%count)*10+temp; if(m_change%m == 0) { flag = 1; } else { flag = 0; } return flag; } int Troitsky(long a[]) //将满足条件的数存放在i中 { long i = 0; int j = 0; for(i = 1;i <= 10000;i++) { if(juge_Troitsky(i) == 1) { a[j] = i; j++; } } printf("the result is:\n"); for(i = 0;i < j;i++) { printf("%d ",a[i]); } printf("\n"); return i; } int main() { long a[100000] = {0}; int count = 0; count = Troitsky(a); printf("sum is:%d\n",count); return 0; }
相关文章推荐
- 找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍
- 找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍 例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*1
- 有一个正整数,已知它的末位数字是6,如果将这个6移动到该数的最前面,那么所得到的数是原来数的4倍,求满足条件的最小正整数。
- 编程之美 找出符合条件的整数
- 请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。
- [编程之美] PSet2.8 找符合条件的整数
- 重现开始战斗12-编程之美-找符合条件的整数
- 编程之美-找符合条件的整数
- 一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1
- 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和
- 编程之美---找符合条件的整数
- 用c++编写程序。在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同。
- 99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同
- 编程之美-2.8 找到符合条件的整数
- 编程之美:第二章 数字之魅 2.8找到符合条件的整数
- 得到去除同一张表符合多个条件之后的记录
- 在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;他既是完全平方数,又是两位数字相同,例如144,676等
- 有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的。注意:n-m应该越小越好,也就是说,找出符合条件的最短序列。 给定一个int数组A和数组的大小n,请
- 第2章 数字之魅——找符合条件的整数
- 【编程之美】2.8 找符合条件的整数