最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言深入探究水仙花數與變種水仙花數代碼

 更新時間:2022年05月12日 14:16:29   作者:珠江上  
求水仙花數和變種水仙花數是非常適合初學者學習的代碼,其中包含的循環(huán)和邏輯方式等知識點。這既能起到對以往知識的復習,也可以學習到一種不同的邏輯思考方式

1.水仙花

題目:

1.1先看代碼

#include <stdio.h>
int main()
{
	int i = 0;
	int count = 0;
	for (i = 100; i<= 999; i++)
	{
		int a = i / 100;
		int b = (i % 100)/10;
		int c = (i % 100)%10;
		if (i == a * a * a + b * b * b + c * c * c)
		{
			printf("%d ", i);
			count++;
		}
	}
	printf("\ncount=%d\n", count);
	return 0;
}

1.2大體邏輯

a.題中說三位數中,因此第一步就要創(chuàng)建三位數100~999,最常用的方法就是 for()循環(huán)來創(chuàng)建

b. 153=1*1*1+5*5*5+3*3*3

求出 i 這個三位數中的百位、千位、個位;然后立方相加 判斷 是否等于 i 就可以了

c.如何計算得出有多少個這樣的數呢?在這里需要定義一個變量count專門來計算個數。如下

2.變種水仙花數

題目:

2.1先看代碼

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 10000; i <= 99999; i++)
	{
		int j = 10;
		int sum = 0;
		int tmp = i;
		for (j = 10; j <= 10000; j *= 10)
		{
			sum += (tmp % j) * (tmp / j);
		}
		if (sum == i)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

2.2代碼剖析

a.題中說五位數中,因此第一步就要創(chuàng)建五位數10000~99999,還是用 for()循環(huán)來創(chuàng)建

b. 類似于

14610=1*4610+14*610+146*10+1461*0

14610/10000=1 14610%10000=4610

14610/1000=14 14610%1000=610

14610/100=146 14610%100=10

14610/10=1461 14610%10=0

看出邏輯了嗎?用到循環(huán)來解

這串代碼中:如果上面的 i 輸入是16420,

sum=0 + (16420 % 10) * (16420 / 10) = 0*1642

sum=0 * 1642 + (16420 % 100) * (16420 / 100) = 0 * 1642 + 20 * 164

......

sum= 0 * 1642 + 20 *1 64 + 420 * 16 + 6420 * 1

一一列出就可以看出來循環(huán)的意思了

到此這篇關于C語言深入探究水仙花數與變種水仙花數代碼的文章就介紹到這了,更多相關C語言水仙花數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++設計模式之訪問者模式

    C++設計模式之訪問者模式

    這篇文章主要介紹了C++設計模式之訪問者模式,本文講解了什么是訪問者模式、訪問者模式的UML類圖、訪問者模式的實現代碼等內容,需要的朋友可以參考下
    2014-10-10
  • C++最短路徑Dijkstra算法的分析與具體實現詳解

    C++最短路徑Dijkstra算法的分析與具體實現詳解

    經典的求解最短路徑算法有這么幾種:廣度優(yōu)先算法、Dijkstra算法、Floyd算法。本文是對?Dijkstra算法的總結,該算法適用于帶權有向圖,可求出起始頂點到其他任意頂點的最小代價以及對應路徑,希望對大家有所幫助
    2023-03-03
  • 用C++編寫擴展node.js(node-ffi版)

    用C++編寫擴展node.js(node-ffi版)

    今天小編就為大家分享一篇關于用C++編寫擴展node.js(node-ffi版),小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++ Primer 第一部分基本語言

    C++ Primer 第一部分基本語言

    這篇文章主要介紹了C++ Primer 第一部分基本語言的相關資料,需要的朋友可以參考下
    2014-02-02
  • C++文件的操作及小實驗示例代碼詳解

    C++文件的操作及小實驗示例代碼詳解

    這篇文章主要介紹了C++文件的操作及小實驗,對于文件,它是一個流對象,對文件的操作無非是讀和寫,通過本文的學習大家將會理解文件的具體操作
    2022-05-05
  • 深入了解一下C語言中的柔性數組

    深入了解一下C語言中的柔性數組

    柔性數組是在C99中定義的,即結構體的最后一個元素允許是未知大小的數組,這就叫柔性數組。這篇文章將通過簡單的示例為大家介紹一下柔性數組的使用,感興趣的可以了解一下
    2023-02-02
  • C++中平衡二叉搜索樹的模擬實現

    C++中平衡二叉搜索樹的模擬實現

    二叉搜索樹雖可以縮短查找的效率,但如果數據有序或接近有序二叉搜索樹將退化為單支樹,查找元素相當于在順序表中搜索元素,效率低下,所以本文給大家介紹了C++平衡二叉的搜索樹模擬實現方法,需要的朋友可以參考下
    2023-09-09
  • C語言數據結構之Hash散列表

    C語言數據結構之Hash散列表

    這篇文章主要介紹了C語言數據結構之Hash散列表,散列表(哈希表)其思想主要是基于數組支持按照下標隨機訪問數據,時間復雜度為O(1)的特性,可以說是數組的一種拓展,需要的朋友可以參考下
    2023-08-08
  • Cocos2d-x學習筆記之開發(fā)環(huán)境搭建

    Cocos2d-x學習筆記之開發(fā)環(huán)境搭建

    這篇文章主要介紹了Cocos2d-x學習筆記之開發(fā)環(huán)境搭建,本文使用Visual Studio作為開發(fā)IDE,是不同于其它教程的,需要的朋友可以參考下
    2014-09-09
  • C++報錯:Id?returned?1exit?status的解決辦法

    C++報錯:Id?returned?1exit?status的解決辦法

    最近剛學c語言,不止一次遇到了同一種報錯,經過總結分享給大家,下面這篇文章主要給大家介紹了關于C++報錯:Id?returned?1exit?status的解決辦法,需要的朋友可以參考下
    2023-04-04

最新評論

政和县| 华安县| 长岛县| 隆昌县| 潼南县| 合阳县| 望都县| 花莲市| 兴仁县| 灵石县| 佛坪县| 柏乡县| 文昌市| 元江| 桦南县| 永定县| 黑水县| 福贡县| 尉犁县| 米泉市| 黑河市| 壶关县| 香港 | 和顺县| 开江县| 淄博市| 哈尔滨市| 徐闻县| 来凤县| 罗城| 洛隆县| 宁阳县| 道真| 黄冈市| 蒙阴县| 寻乌县| 抚远县| 安溪县| 太湖县| 怀仁县| 乐亭县|