matlab编程:找寻4727914947中,从1开始到这个数字的奇数序列中,一共出现多少次的3 用5种方法
时间: 2024-03-26 15:40:52 浏览: 59
以下是五种不同的 MATLAB 代码实现:
方法一:循环遍历奇数序列中的每个数字,并判断是否包含数字3。
```matlab
num = 4727914947;
odd_nums = 1:2:num;
count = 0;
for i = odd_nums
if contains(num2str(i), '3')
count = count + 1;
end
end
disp(count);
```
方法二:将奇数序列转化为字符串,然后使用正则表达式进行匹配。
```matlab
num = 4727914947;
odd_nums = 1:2:num;
str_odd_nums = join(string(odd_nums), '');
count = numel(regexp(str_odd_nums, '3'));
disp(count);
```
方法三:使用数组逻辑操作,将奇数序列中每个数字转化为字符串,然后统计包含数字3的字符串数量。
```matlab
num = 4727914947;
odd_nums = 1:2:num;
str_odd_nums = string(odd_nums);
count = sum(str_odd_nums == '3', 'all');
disp(count);
```
方法四:将奇数序列中每个数字转化为字符串,然后拼接成一个长字符串,最后统计其中数字3的数量。
```matlab
num = 4727914947;
odd_nums = 1:2:num;
str_odd_nums = string(odd_nums);
long_str = join(str_odd_nums, '');
count = count(long_str, '3');
disp(count);
```
方法五:使用 cellfun 函数,将奇数序列中每个数字转化为字符串,然后统计包含数字3的字符串数量。
```matlab
num = 4727914947;
odd_nums = 1:2:num;
str_odd_nums = cellfun(@num2str, num2cell(odd_nums), 'UniformOutput', false);
count = sum(cellfun(@(x) contains(x, '3'), str_odd_nums));
disp(count);
```
以上五种方法都可以求解出从1开始到4727914947的奇数序列中,数字3出现的次数。
阅读全文