NC210561. 数学实验
描述
输入描述
示例1
输入:
10
输出:
0
示例2
输入:
55
输出:
0
说明:
55 -> 5 * 5 = 25 -> 2 * 5 = 10 -> 1 * 0 = 0Python(2.7.3) 解法, 执行用时: 19ms, 内存消耗: 5752K, 提交时间: 2020-12-18 20:03:01
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # @param n long长整型 老师给牛牛的数字 # @return int整型 # class Solution: def mathexp(self, n): while len(str(n)) > 1: res = 1 for a in map(int, str(n)): res *= a n = res return n
C(clang11) 解法, 执行用时: 3ms, 内存消耗: 516K, 提交时间: 2020-12-20 19:27:57
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n long长整型 老师给牛牛的数字 * @return int整型 */ int mathexp(long long n ) { // write code here if(n<10)return n; long res=1; do res*=n%10; while(n/=10); return mathexp(res); }
PHP 解法, 执行用时: 13ms, 内存消耗: 3500K, 提交时间: 2021-10-25 21:06:30
<?php /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param n long长整型 老师给牛牛的数字 * @return int整型 */ function mathexp( $n ) { while(count(str_split($n)) > 1) { $n = array_product(str_split($n)); } return $n; }
C++(clang++11) 解法, 执行用时: 2ms, 内存消耗: 380K, 提交时间: 2020-12-18 21:18:30
class Solution { public: int mathexp(long long n) { while(n>9){ long long t=n,s=1; while(n){ s*=(n%10); n/=10; } if(s==t){ return s; } n=s; } return n; } };
Python3(3.9) 解法, 执行用时: 21ms, 内存消耗: 3024K, 提交时间: 2020-12-18 20:12:09
def cal(strings): x = 1 for i in strings: x *= int(i) if x >= 10: return cal(str(x)) return x str1 = input() print(cal(str1))