题目
简单的循环 |
难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
输入两个正整数 m 和 k ,判断 m 是否恰好含有 k 个因子 3 ,如果是输出 yes,否则输出 no. |
输入
|
一行包含两个正整数 m 和 k,用一个空格分隔。
|
输出
|
yes 或 no
|
输入示例
|
54 3
|
输出示例
|
yes
|
其他说明
|
数据范围:1< m < 1000 000 ,0 < k < 5.
|
分析
写一个while循环,当m能被3整除时m÷3,直到m不能被3整除为止,在判断是否正好有k个3.
代码
#include<bits/stdc++.h> using namespace std; int m,k,sum; int main() { scanf("%d%d",&m,&k); while(!(m%3))//当前的m能被3整除。 { m/=3; sum++;//计数器+1。 } if(sum==k) printf("yes"); else printf("no"); }