7 幸运数字的因子个数
作者: Turbo时间限制: 1S章节: 循环
问题描述 :
小李非常喜欢数字4和7,看到一个数字他就想快速计算出因子里面含有几个4和7,但是智商捉急的他总是要算很久,喜欢编程的你能够帮助他吗?
比如数字112,因为112=447,所以知道它的因子中包含2个4和1个7。
再比如数字56,因为56=247,所以知道它的因子中包含1个4和1个7。
而数字30不能被4或7整除,所以它的因子中包含0个4和0个7。
输入说明 :
每组数据包含一行,每行包含一个整数n(3<=n<=2^30),表示给定的数字。
输出说明 :
对于每组输入,输出用空格隔开的两个数字,分别表示给定数字的因子中4和7的个数。
每组输出的首尾无多余空格,每组输出的前后也无多余空行。
输入范例 :
56
112
30
输出范例 :
1 1
2 1
0 0
import java.util.Scanner;
public class test_7 {
public static void main(String[] args) {
int num,countFour,countSeven;
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
num = scanner.nextInt();
countFour=0;
countSeven=0;
if(num<4){
System.out.println("0 0");
}else{
while(num>0){
if(num%4==0){
countFour++;
num/=4;
}else if(num%7==0){
countSeven++;
num/=7;
}else{
break;
}
}
}
System.out.println(new StringBuilder().append(countFour).append(" ").append(countSeven).toString());
}
}
}