首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

翻转n个硬币的有关问题

2013-10-15 
翻转n个硬币的问题今天去面试,面试官问了我这样一个问题,当时答的很近了,但是还差一点,最后还是被pass了原

翻转n个硬币的问题

今天去面试,面试官问了我这样一个问题,当时答的很近了,但是还差一点,最后还是被pass了

原题是这样:一堆硬币有n个,都是朝下的,翻转n次,第一次翻转能被1整除的,第2次翻转能被2整除的,第三次翻转能被3整除的,这样直到第n次翻转能被n整除的,问最后朝上的是多少个?

思路很简单,就怕你想不到:第i次翻转硬币的时候,如果所有小于i的数中,能被i整除的个数是奇数个,最后它就是朝上的,就是这么简单

代码是这样的:

#include <stdio.h>int countFactor(int n){int ret = 0, i;for(i = 1; i <=n; i++)if(n%i == 0)ret++;return ret;}void main(){printf("please input the number of the coin\n");int x, ret = 0;scanf("%d",&x);for(int i = 1; i <= x; i++)if(countFactor(i)%2 == 1){printf("%d\n",i);ret++;}printf("the ouput is:%d\n",ret);}


热点排行