博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
THE DRUNK JAILER
阅读量:6479 次
发布时间:2019-06-23

本文共 1365 字,大约阅读时间需要 4 分钟。

开关门问题,初始化门(编号1~n)都是关着的,改变状态为开变关、关变开:  第1遍,全部改变状态;第2遍,编码2的倍数的门改变状态; 第3遍,编码3的倍数的门改变状态

……第n遍,编码n的倍数的门改变状态;

结束后,有多少扇门是开着的

法一:

View Code
1 #include
2 #include
3 int main() 4 { 5 int t, n, i, j ; 6 int a[110] ; 7 scanf("%d", &t) ; 8 while(t--) 9 {10 scanf("%d", &n) ;11 memset(a, 0, sizeof(a)) ;//初始化,0代表门关着12 for(i=1; i<=n; i++)13 {14 for(j=1; j<=n; j++)15 {16 if(j%i==0)17 a[j] = !a[j] ;//取相反状态18 }19 }20 int count = 0 ;21 for(i=1; i<=n; i++)22 {23 if(a[i]!=0)24 count++ ;25 }26 printf("%d\n", count) ;27 }28 return 0 ;29 }

法二:求约数个数为奇数的数的个数,简单来说就是求n以内(含n)完全平方数的个数

View Code
1 #include
2 #include
3 #include
4 int main() 5 { 6 int t, n, i, x ; 7 int a[110] ; 8 a[5] = 2 ; 9 for(i=6; i<=100; i++)//打表10 {11 x = (int)(sqrt(i)) ;12 if(x*x==i)13 a[i] = a[i-1] + 1 ;14 else15 a[i] = a[i-1] ;16 }17 scanf("%d", &t) ;18 while(t--)19 {20 scanf("%d", &n) ;21 printf("%d\n", a[n]) ;22 }23 return 0 ;24 }

 

转载于:https://www.cnblogs.com/yelan/archive/2013/04/10/3012375.html

你可能感兴趣的文章
HDU ACM 1050 Moving Tables
查看>>
Django templates加载css/js/image等静态资源
查看>>
Eclipse C + GTK2.0环境构筑
查看>>
caffe solver
查看>>
Rhel6-heartbeat+lvs配置文档
查看>>
[CF340D]Bubble Sort Graph/[JZOJ3485]独立集
查看>>
ORACLE分科目统计每科前三名的学生的语句
查看>>
0317复利计算的回顾与总结
查看>>
函数对象
查看>>
最全最新个税计算公式---今天你税了吗?
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
MongoDB--CSharp Driver Quickstart .
查看>>
#pragma mark 添加分割线 及 其它类似标记 - 转
查看>>
二分法求平方根(Python实现)
查看>>
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
查看>>
H3C品牌刀片系统强势首发
查看>>
【CSS系列】图像映射
查看>>